Ctrl K

Видео друзей на заданном расстоянии

Средняя
В соцсети n человек с номерами от 0 до n - 1. watched[i] — список видео, которые посмотрел человек i, а friends[i] — его друзья (дружба взаимная). Расстояние между двумя людьми — наименьшее число шагов «к другу», за которое можно дойти от одного до другого. Ваши друзья на расстоянии 1, друзья друзей, которые не ваши друзья, — на расстоянии 2, и так далее. Для человека person соберите все видео, которые посмотрели люди ровно на расстоянии distance от него, и посчитайте, сколько раз встречается каждое видео. Верните список видео без повторов по возрастанию частоты, а при равной частоте — по алфавиту.
Пример 1
watched=[["news", "jazz"], ["jazz"], ["film", "news"], ["film"]], friends=[[1], [0, 2], [1, 3], [2]], person=0, distance=2 → ['film', 'news']

Друзья цепочкой 0–1–2–3. На расстоянии 2 от человека 0 только человек 2: он смотрел film и news по разу, равные частоты упорядочены по алфавиту.

Пример 2
watched=[["news", "jazz"], ["jazz"], ["film", "news"], ["film"]], friends=[[1], [0, 2], [1, 3], [2]], person=1, distance=1 → ['film', 'jazz', 'news']

Прямые друзья человека 1 — это 0 и 2. news встречается дважды, film и jazz по разу, поэтому news идёт последним.

Ограничения
  • 2 ≤ n ≤ 100, len(watched) == len(friends) == n
  • 1 ≤ len(watched[i]) ≤ 100
  • 1 ≤ len(watched[i][j]) ≤ 20
  • 0 ≤ friends[i][j] < n, человек не дружит сам с собой, повторов в списке нет
  • если j есть в friends[i], то i есть в friends[j]
  • 0 ≤ person < n
  • 1 ≤ distance < n
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСклеить карточки контактов СредняяПерестановки по связям СредняяОткрытые комнаты от холла СредняяРаскрыть шаблон с переменными СредняяГруппы по общим меткам Средняя
загружаем Python…
Вход
watched=[["news", "jazz"], ["jazz"], ["film", "news"], ["film"]], friends=[[1], [0, 2], [1, 3], [2]], person=0, distance=2
Ожидается
['film', 'news']

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