Лента пользователя VK собирается из k источников: друзья и сообщества. Для каждого источника есть список feeds[i] — время публикации постов в секундах, от новых к старым.
Верните m самых свежих постов по всем источникам, от новых к старым. Если всего постов меньше m, верните все.
Посты с одинаковым временем считаются разными и оба попадают в ответ.
В работе: Первый экран ленты — 20 постов из 300 подписок: читать все 300 лент до конца не нужно.
Пример 1
Ввод
feeds = [[900, 500, 100], [800, 700], [950]] m = 4
Вывод
[950, 900, 800, 700]
950 из третьей ленты, потом 900, 800, 700.
Пример 2
Ввод
feeds = [[30], [], [20, 10]] m = 10
Вывод
[30, 20, 10]
Постов всего 3 — отдаём все.
Ограничения
- 0 ≤ k ≤ 10⁴
- суммарно постов ≤ 10⁶
- 1 ≤ m ≤ 10⁴
- каждый
feeds[i]не возрастает - Лимит — 2 с на тест (2000 мс).
Как вызывается ваш код
Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула.
print() и console.log() уходят в консоль.
def newest_posts(feeds, m):
Источник: наша задача на данных VK. Условие пересказано своими словами.
Давали на собеседовании?
Стр. 1Ctrl+Enter — запуск · Ctrl+Shift+Enter — отправка
Ожидаемый ответ не нужен: покажем, что вернула функция.
Здесь появится результат отправки.