تابعی بنویسید که یک دنباله شامل رشتهها یا اعداد را دریافت کند، موارد تکراری مجاور را حذف کند و لیستی از آیتمها را که ترتیب اصلی را حفظ میکند، بازگرداند. آیتمهایی با مقدار مشابه که پشت سر هم قرار گرفتهاند، باید به یک نمونه کاهش یابند.
نمونه ورودی و خروجی
UniqueInOrder("AAAABBBCCDAABBB") ➞ ["A", "B", "C", "D", "A", "B"]
UniqueInOrder("ABBCcAD") ➞ ["A", "B", "C", "c", "A", "D"]
UniqueInOrder([1, 2, 2, 3, 3]) ➞ [1, 2, 3]
    نکات
- دنباله ورودی میتواند یک رشته یا یک لیست باشد.
 - توابع باید به حروف کوچک و بزرگ حساس باشند (مثلاً 
Aوaمتفاوت هستند). - ترتیب آیتمها در لیست خروجی باید مانند ورودی حفظ شود.
 - اگر هیچ آیتمی وجود نداشته باشد، خروجی یک لیست خالی خواهد بود.
 
EXPECT_EQ(UniqueInOrder("AAAABBBCCDAABBB"), std::vector({"A", "B", "C", "D", "A", "B"}));
EXPECT_EQ(UniqueInOrder("ABBCcAD"), std::vector({"A", "B", "C", "c", "A", "D"}));
EXPECT_EQ(UniqueInOrder(std::vector({1, 2, 2, 3, 3})), std::vector({1, 2, 3}));
EXPECT_EQ(UniqueInOrder("12333355555522211133"), std::vector({"1", "2", "3", "5", "2", "1", "3"}));
EXPECT_EQ(UniqueInOrder("uuUfffFgGggYtt76%5$$$"), std::vector({"u", "U", "f", "F", "g", "G", "g", "Y", "t", "7", "6", "%", "5", "$"}));
                                                          
                                            
نظرات