Menu
CoddyTech

Longest Repeating Character Replacement

Sana büyük İngilizce harflerden oluşan bir s dizgesi ve bir k tam sayısı veriliyor. s dizgesinde en fazla k konum seçip her birindeki harfi başka herhangi bir büyük harfle değiştirebilirsin.

Değişikliklerinden sonra aynı harfin tekrarlarından oluşan en uzun alt dizenin, yani yan yana duran harflerin uzunluğunu döndür.

Fonksiyon

characterReplacement(s: string, k: integer) → integer
sstring
büyük harflerden oluşan dize
kinteger
değiştirebileceğiniz en fazla harf sayısı
Döndürürinteger
oluşturabileceğiniz, tekrarlanan tek bir harften oluşan en uzun alt dizenin uzunluğu

Kısıtlar

  • 1 ≤ s.length ≤ 5 × 104
  • s yalnızca büyük İngilizce harfler içerir.
  • 0 ≤ k ≤ s.length

Örnekler

Girdi
s = "BAAACAB"k = 1
Çıktı
5
Açıklama
C'yi A olarak değiştirin; 1'den 5'e kadar olan indekslerde AAAAA okunur. Altı harf için iki değişiklik gerekir: 0'dan 5'e kadar olan indekslerde bir B ve C bulunur; 1'den 6'ya kadar olan indekslerde ise C ve son B bulunur.

lock iconGönderirken +17 gizli test

challenge icon

Ek soru

s yalnızca 26 büyük harfi değil, herhangi bir karakteri tutabiliyorsa ne değişir?

Kodu sıfırla
def characterReplacement(s, k):
    # Kodu buraya yazın
Test durumları

Durum 1

Durum 2

Durum 3

Girdi

s = "BAAACAB"
k = 1

Beklenen

5