تابعی بنویسید که یک دنباله شامل رشتهها یا اعداد را دریافت کند، موارد تکراری مجاور را حذف کند و لیستی از آیتمها را که ترتیب اصلی را حفظ میکند، بازگرداند. آیتمهایی با مقدار مشابه که پشت سر هم قرار گرفتهاند، باید به یک نمونه کاهش یابند.
نمونه ورودی و خروجی
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
متفاوت هستند). - ترتیب آیتمها در لیست خروجی باید مانند ورودی حفظ شود.
- اگر هیچ آیتمی وجود نداشته باشد، خروجی یک لیست خالی خواهد بود.
Assert.Equal(new[] { "A", "B", "C", "D", "A", "B" }, result); Assert.Equal(new[] { "A", "B", "C", "c", "A", "D" }, result); Assert.Equal(new object[] { 1, 2, 3 }, result); Assert.Equal(new[] { "1", "2", "3", "5", "2", "1", "3" }, result); Assert.Equal(new[] { "u", "U", "f", "F", "g", "G", "g", "Y", "t", "7", "6", "%", "5", "$" }, result);
نظرات