Ctrl K

Самое узкое окно с k единицами

Средняя
Дана строка bits из нулей и единиц и число ones. Найдите среди непрерывных кусков строки те, в которых ровно ones единиц, и выберите из них самые короткие. Если самых коротких несколько, верните тот, что меньше в лексикографическом (словарном) порядке, — при равной длине это значит, что в первой позиции, где куски отличаются, у ответа стоит 0, а у другого 1. Если ни в одном куске нет ровно ones единиц, верните пустую строку.
Пример 1
bits="0110100101", ones=2 → '11'

Самый короткий кусок с двумя единицами — 11 (позиции 1–2), он единственный длины 2.

Пример 2
bits="1101011", ones=3 → '1011'

Кусков длины 4 с тремя единицами два: 1101 (позиции 0–3) и 1011 (позиции 3–6). Они отличаются во второй позиции, и у 1011 там 0, поэтому ответ 1011.

Пример 3
bits="00100", ones=2 → ''

В строке всего одна единица — подходящего куска нет, возвращаем пустую строку.

Ограничения
  • 1 ≤ len(bits) ≤ 100
  • bits состоит только из символов 0 и 1
  • 1 ≤ ones ≤ len(bits)
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамый длинный фрагмент без повторов СредняяОтрезок из двух букв СредняяПовторяющиеся участки гена СредняяОкно с ограниченным набором букв СредняяКаждая буква не реже k раз Средняя
загружаем Python…
Вход
bits="0110100101", ones=2
Ожидается
'11'

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 119 тестов на сервере, включая скрытые.