ضغط السلسلة النصية باستخدام قاعدة المجموعات المتتالية
Rust
Hard
strings
مهمة «ضغط السلسلة النصية باستخدام قاعدة المجموعات المتتالية»
بالنظر إلى سلسلة مكونة من أحرف لاتينية صغيرة. من الضروري تنفيذ خوارزمية ضغط السلسلة: إذا ظهرت مجموعة من الأحرف المتطابقة بطول أكبر من 1 في السلسلة، يتم استبدال هذه المجموعة بالحرف وعدد التكرارات (يُكتب الرقم بدون أصفار بادئة). إذا كانت المجموعة تتكون من حرف واحد، فإنها تبقى دون تغيير. أخرج السلسلة المضغوطة الناتجة. طول السلسلة الأصلية لا يتجاوز 10^5.
تنسيق الإدخال
المدخل هو سلسلة نصية واحدة S، تتكون من أحرف لاتينية صغيرة (a-z). طول السلسلة يتراوح من 1 إلى 10^5.
تنسيق الإخراج
أخرج سطرًا واحدًا — النسخة المضغوطة من السلسلة النصية الأصلية.
أمثلة
مثال 1
الإدخال
abc
الإخراج
abc
مثال 2
الإدخال
aabbaa
الإخراج
a2b2a2
مثال 3
الإدخال
97 98 99 97 98 99
الإخراج
97 98 92 97 98 92
main.rs