Menu
CoddyTech
flag Ar iconالعربيةdown icon

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. ستحتاج ستة أحرف إلى تغييرين: تحتوي الفهارس من 0 إلى 5 على B وC، وتحتوي الفهارس من 1 إلى 6 على C وآخر B.

lock icon+17 اختبارات مخفية عند الإرسال

challenge icon

سؤال إضافي

ما الذي يتغير إذا كان بإمكان s أن يحتوي على أي حرف، وليس الأحرف الكبيرة الـ26 فقط؟

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

الحالة 1

الحالة 2

الحالة 3

المدخلات

s = "BAAACAB"
k = 1

المتوقع

5