Ctrl K

Разложить карты на наборы подряд

Средняя
На столе лежат карты, на каждой написано число: cards[i] — число на карте i. Карты с одинаковыми числами могут повторяться. Нужно разложить все карты на наборы ровно по size карт так, чтобы в каждом наборе числа шли подряд: x, x + 1, …, x + size - 1. Каждая карта должна попасть ровно в один набор. Верните True, если так разложить можно, и False иначе.
Пример 1
cards=[5, 3, 4, 4, 6, 5], size=3 → True

Карты раскладываются в наборы [3, 4, 5] и [4, 5, 6].

Пример 2
cards=[1, 2, 4, 5], size=2 → True

Подходит [1, 2] и [4, 5]: в каждом наборе значения идут подряд.

Пример 3
cards=[2, 3, 3, 4], size=2 → True

Двойку можно сложить только с тройкой, тогда остаются 3 и 4 — тоже подходит. Ответ True.

Ограничения
  • 1 ≤ len(cards) ≤ 10⁵
  • 0 ≤ cards[i] ≤ 10⁹
  • 1 ≤ size ≤ len(cards)
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЗадания с перерывом на остывание СредняяКаждому числу — его удвоение СредняяМетки вразнобой СредняяВыбор с лимитом по тегам СредняяРазложить на ряды подряд Средняя
загружаем Python…
Вход
cards=[5, 3, 4, 4, 6, 5], size=3
Ожидается
True

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