Menu
CoddyTech

Longest Repeating Character Replacement

ŚredniePrzesuwane oknopython iconjava iconcpp iconc iconjs icon+10

Otrzymujesz ciąg znaków s składający się z wielkich liter angielskiego alfabetu oraz liczbę całkowitą k. Możesz wybrać co najwyżej k pozycji w s i zmienić literę na każdej z nich na dowolną inną wielką literę.

Zwróć długość najdłuższego podciągu spójnego, czyli ciągu sąsiadujących liter, który po zmianach składa się z jednej powtarzającej się litery.

Funkcja

characterReplacement(s: string, k: integer) → integer
sstring
ciąg wielkich liter
kinteger
najwięcej liter, które możesz zmienić
Zwracainteger
długość najdłuższego ciągu jednakowych liter, jaki możesz utworzyć

Ograniczenia

  • 1 ≤ s.length ≤ 5 × 104
  • s zawiera wyłącznie wielkie litery alfabetu angielskiego.
  • 0 ≤ k ≤ s.length

Przykłady

Wejście
s = "BAAACAB"k = 1
Wyjście
5
Wyjaśnienie
Zmiana C na A sprawia, że indeksy od 1 do 5 dają AAAAA. Oba sześcioliterowe okna zawierają B i C, więc wymagają dwóch zmian.
challenge icon

Pytanie dodatkowe

Co się zmieni, jeśli s może zawierać dowolny znak zamiast 26 wielkich liter?

Zresetuj kod
def characterReplacement(s, k):
    # Wpisz kod tutaj

Test #1

Test #2

Test #3

Argumenty

s = "BAAACAB"
k = 1

Oczekiwany wynik

5