Переверните последовательные нули в единицы за k операций, чтобы получить максимальное количество единиц, найдите максимJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Переверните последовательные нули в единицы за k операций, чтобы получить максимальное количество единиц, найдите максим

Сообщение Anonymous »

Вам дана двоичная строка, состоящая из 0 и 1, и значение k, которое представляет количество операций. Вы можете перевернуть последовательные 0 в каждой операции на 1. Найдите максимальное количество единиц после k операций.
Например:
ввод: «00010», k=1
выход: 4
пояснение: мы можем преобразовать первые три последовательных 0 в 1 за одну операцию. результат: «11110». ответ — 4.
ввод: "1100101001", k=2
выход: 7
объяснение: мы можем преобразовать 0 в индексах[2,3] в 1. в первой операции, а затем 0 с индексом от 5 до 1. Результат после двух операций — 1111111001. Ответ — 7.
Я думал об использовании скользящего окна, но не могу решить, используя его как нам нужно сформировать результат с максимальным количеством единиц, учитывая, что последовательные 0 должны быть преобразованы в 1, что может дать результат с максимальным количеством 1.

Подробнее здесь: https://stackoverflow.com/questions/787 ... er-of-ones
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»