Ctrl K

Плейлист с редкими сменами жанра

Средняя
Есть очередь треков, у каждого — номер жанра: массив genres. Вы собираете плейлист, вычёркивая из очереди сколько угодно треков; оставшиеся идут в исходном порядке. Сменой жанра назовём пару соседних треков плейлиста с разными жанрами. Слушатель терпит не больше switches смен. Верните наибольшее число треков в таком плейлисте.
Пример 1
genres=[4, 4, 7, 4, 7, 7], switches=1 → 5

Берём 4, 4, 4, 7, 7 (пропускаем первую 7): смена жанра одна. Все шесть треков дали бы три смены.

Пример 2
genres=[3, 8, 3, 8], switches=0 → 2

Без смен жанра можно взять только треки одного жанра — двух троек или двух восьмёрок.

Пример 3
genres=[9], switches=0 → 1
Ограничения
  • 1 ≤ len(genres) ≤ 500
  • 1 ≤ genres[i] ≤ 10⁹
  • 0 ≤ switches ≤ min(len(genres), 25)
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиРазбиение на слова из словаря СредняяОчки без соседей СредняяСлова, спрятанные в тексте СредняяДеревья из произведений СредняяСамая длинная цепочка сумм Средняя
загружаем Python…
Вход
genres=[4, 4, 7, 4, 7, 7], switches=1
Ожидается
5

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