Задача 11: Максимальное количество последовательных единиц

Напишите определение функции maxConsecutiveOnes(nums, k) -> int, которая принимает на вход:

  • nums (List[int]) — бинарный массив, содержащий только числа 0 и 1;
  • k (int) — максимальное количество нулей, которые можно перевернуть в единицы.

Функция должна вернуть максимальное количество последовательных единиц в массиве, если можно перевернуть не более k нулей в единицы.


Примеры:

Пример 1:

Ввод:

nums = [1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0]
k = 2

Вывод:

6

Пояснение:
После переворота двух нулей массив будет выглядеть следующим образом: [1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1]. Длиннейшая последовательность единиц — 6.


Пример 2:

Ввод:

nums = [0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1]
k = 3

Вывод:

10

Пояснение:
После переворота трех нулей массив станет [0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1]. Длиннейшая последовательность единиц — 10.

0

Вы должны Войти или Зарегистрироваться чтобы оставлять комментарии