Ctrl K

Рваные строки по диагоналям

Средняя
Дан список строк rows, причём строки могут быть разной длины. Элемент rows[i][j] лежит на диагонали номер i + j. Выпишите все элементы, перебирая диагонали по возрастанию номера. Внутри одной диагонали идите снизу вверх: сначала элемент с бо́льшим номером строки i. Если в какой-то строке нужной клетки нет (строка короче), просто пропустите её. Верните получившийся список.
Пример 1
rows=[[4, 7, 1], [9], [2, 6]] → [4, 9, 7, 2, 1, 6]

Диагональ 0: 4. Диагональ 1 снизу вверх: 9, 7. Диагональ 2: 2 (строка 2), в строке 1 клетки нет, затем 1. Диагональ 3: только 6.

Пример 2
rows=[[3], [5, 8, 11]] → [3, 5, 8, 11]

3, затем 5, затем 8 и 11 — каждая из них одна на своей диагонали.

Пример 3
rows=[[12, 13, 14]] → [12, 13, 14]
Ограничения
  • 1 ≤ len(rows) ≤ 10⁵
  • 1 ≤ len(rows[i])
  • сумма длин всех строк ≤ 10⁵
  • 1 ≤ rows[i][j] ≤ 10⁵
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиK-й результат сверху СредняяСтудии для записи СредняяСамые частые значения СредняяK-е по величине в упорядоченной таблице СредняяЗадания с перерывом на остывание Средняя
загружаем Python…
Вход
rows=[[4, 7, 1], [9], [2, 6]]
Ожидается
[4, 9, 7, 2, 1, 6]

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