بکندباز

یک تابع بنویسید که یک رشته را به‌عنوان ورودی دریافت کند و کاراکترهای متوالی تکرارشده را به گروه‌هایی با ساختار زیر دسته‌بندی کند:

[[value, first_index, last_index, times_repeated], ..., [value, first_index, last_index, times_repeated]].

توضیحات پارامترها:

    • value: کاراکتر مورد بررسی.
    • first_index: اندیس اولین حضور کاراکتر.
    • last_index: اندیس آخرین حضور متوالی کاراکتر.
    • times_repeated: تعداد دفعات تکرار متوالی کاراکتر.

نمونه ورودی و خروجی

FindRepeating("a") ➞ [["a", 0, 0, 1]]

FindRepeating("aabbb") ➞ [["a", 0, 1, 2], ["b", 2, 4, 3]]

FindRepeating("1337") ➞ [["1", 0, 0, 1], ["3", 1, 2, 2], ["7", 3, 3, 1]]

نکات:

  • اگر رشته خالی باشد، لیست خالی برگردانید: "" ➞ [].
  • مقادیر غیرتکراری باید در همان اندیس شروع و پایان داشته باشند.
  • کاراکترهای متوالی به گروه‌هایی جداگانه تقسیم می‌شوند.
FindRepeating("a")  ➞ [["a", 0, 0, 1]]
FindRepeating("aabbb")  ➞ [["a", 0, 1, 2], ["b", 2, 4, 3]]
FindRepeating("1337")  ➞ [["1", 0, 0, 1], ["3", 1, 2, 2], ["7", 3, 3, 1]]
FindRepeating("aabbbaabbb")  ➞ [["a", 0, 1, 2], ["b", 2, 4, 3], ["a", 5, 6, 2], ["b", 7, 9, 3]]
FindRepeating('addressee')  ➞ [['a', 0, 0, 1], ['d', 1, 2, 2], ['r', 3, 3, 1], ['e', 4, 4, 1], ['s', 5, 6, 2], ['e', 7, 8, 2]]
FindRepeating('1111222233334444')  ➞ [['1', 0, 3, 4], ['2', 4, 7, 4], ['3', 8, 11, 4], ['4', 12, 15, 4]]
FindRepeating('1000000000000066600000000000001')  ➞ [['1', 0, 0, 1], ['0', 1, 13, 13], ['6', 14, 16, 3], ['0', 17, 29, 13], ['1', 30, 30, 1]]

هنوز پاسخی برای این تمرین ثبت نشده است

نظرات

*
*

تمرینات مرتبط