Menu
CoddyTech

Longest Repeating Character Replacement

لديك سلسلة نصية s من أحرف إنجليزية كبيرة، وعدد صحيح k. يمكنك اختيار ما لا يزيد على k مواضع في s وتغيير الحرف في كل موضع منها إلى أي حرف كبير آخر.

أعِد طول أطول سلسلة فرعية، أي مجموعة من الأحرف المتجاورة، تحتوي على حرف واحد متكرر بعد إجراء التغييرات.

الدالة

characterReplacement(s: string, k: integer) → integer
sstring
سلسلة من الأحرف الكبيرة
kinteger
أكبر عدد من الأحرف التي يمكنك تغييرها
تُرجعinteger
طول أطول سلسلة فرعية من حرف متكرر واحد يمكنك تكوينها

القيود

  • 1 ≤ s.length ≤ 5 × 104
  • يحتوي s على أحرف إنجليزية كبيرة فقط.
  • 0 ≤ k ≤ s.length

أمثلة

المدخلات
s = "BAAACAB"k = 1
المخرجات
5
الشرح
يؤدي تغيير C إلى A إلى جعل الفهارس من 1 إلى 5 تقرأ AAAAA. تحتوي نافذتا الأحرف الستة كلتاهما على B وC، لذا تحتاجان إلى تغييرين.
challenge icon

سؤال إضافي

ما الذي يتغير إذا كان بإمكان s أن يحتوي على أي حرف بدلًا من الأحرف الكبيرة الـ 26؟

إعادة ضبط الشيفرة
def characterReplacement(s, k):
    # اكتب الكود هنا

اختبار #1

اختبار #2

اختبار #3

الوسائط

s = "BAAACAB"
k = 1

الإخراج المتوقع

5