Ctrl K

Разложить ленту по строкам

Лёгкая
Склад выгрузил показания датчиков одной длинной лентой — списком items. Для отчёта их нужно разложить в таблицу из rows строк и cols столбцов. Заполняйте таблицу построчно: первые cols чисел ленты образуют первую строку, следующие cols — вторую, и так далее. Порядок чисел не меняется. Таблица должна быть заполнена полностью и использовать все числа. Если это невозможно (чисел больше или меньше, чем rows · cols), верните пустой список.
Пример 1
items=[4, 8, 15, 16, 23, 42], rows=3, cols=2 → [[4, 8], [15, 16], [23, 42]]

Шесть чисел ровно заполняют 3 строки по 2: [4, 8], [15, 16], [23, 42].

Пример 2
items=[7, 7, 3], rows=1, cols=3 → [[7, 7, 3]]

Одна строка из трёх чисел вмещает весь список целиком.

Пример 3
items=[1, 2, 3, 4, 5], rows=2, cols=2 → []

В таблицу 2 × 2 помещается 4 числа, а их 5 — разложить нельзя, ответ пустой.

Ограничения
  • 1 ≤ len(items) ≤ 5 · 10⁴
  • 1 ≤ items[i] ≤ 10⁵
  • 1 ≤ rows, cols ≤ 4 · 10⁴
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПереложить в другой лоток ЛёгкаяЗеркало и негатив ЛёгкаяСтроки становятся столбцами ЛёгкаяПод ударом ладьи ЛёгкаяПрокрутка сетки Лёгкая
загружаем Python…
Вход
items=[4, 8, 15, 16, 23, 42], rows=3, cols=2
Ожидается
[[4, 8], [15, 16], [23, 42]]

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