Ctrl K

Группы по общим меткам

Средняя
У каждого из n объектов есть ровно m меток — это строки tags[i] (метки внутри строки могут повторяться). Даны также число k. Два разных объекта связаны напрямую, если у них не меньше k **различных** общих меток. Связь передаётся по цепочке: если a связан с b, а b с c, то все трое в одной группе. Верните количество групп.
Пример 1
tags=[[1, 2, 3], [3, 4, 5], [6, 7, 8], [8, 9, 6]], k=1 → 2

Строки 0 и 1 делят метку 3, строки 2 и 3 — метки 6 и 8. Между парами общих меток нет — две группы.

Пример 2
tags=[[5, 5, 1], [5, 1, 1]], k=2 → 1

Различных общих меток две: 5 и 1. Повторы не считаются дважды, но двух меток как раз хватает — одна группа.

Пример 3
tags=[[4, 4], [4, 4]], k=2 → 2

Общая метка всего одна (4), а нужно хотя бы две — каждая строка сама по себе.

Ограничения
  • 1 ≤ n = len(tags) ≤ 100
  • 1 ≤ m = len(tags[i]) ≤ 100, у всех строк одинаковая длина
  • 1 ≤ tags[i][j] ≤ 100
  • 1 ≤ k ≤ m
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиОткрытые комнаты от холла СредняяКого вылечить первым СложнаяКого отключить от сети СложнаяЦепочки отношений СредняяСклеить карточки контактов Средняя
загружаем Python…
Вход
tags=[[1, 2, 3], [3, 4, 5], [6, 7, 8], [8, 9, 6]], k=1
Ожидается
2

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