Ctrl K

Сколько изолированных групп в сети

Средняя
В дата-центре node_count серверов, пронумерованных от 0 до node_count - 1. Некоторые из них соединены кабелями: каждый элемент links[i] = [a, b] означает двусторонний канал между серверами a и b. Серверы могут обмениваться данными, если между ними есть путь по кабелям, возможно через другие серверы. Так вся сеть распадается на группы: внутри группы связаться можно с кем угодно, а между разными группами — нельзя. Сервер без кабелей образует отдельную группу. Верните количество таких групп.
Пример 1
node_count=7, links=[[0, 3], [3, 5], [1, 2], [6, 4]] → 3

Серверы 0, 3 и 5 связаны в одну группу, 1 и 2 — во вторую, 4 и 6 — в третью.

Пример 2
node_count=4, links=[[0, 1]] → 3

Серверы 0 и 1 связаны, а 2 и 3 стоят особняком: всего три группы.

Пример 3
node_count=3, links=[[0, 1], [1, 2]] → 1
Ограничения
  • 1 ≤ node_count ≤ 2000
  • 0 ≤ links.length ≤ 5000
  • links[i].length = 2
  • 0 ≤ a, b < node_count, a ≠ b
  • Каждая пара серверов соединена не более чем одним кабелем
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСкладываются ли связи в дерево СредняяЦепочки отношений СредняяГруппы связанных серверов СредняяЛишний кабель СредняяРазбить на две команды Средняя
загружаем Python…
Вход
node_count=7, links=[[0, 3], [3, 5], [1, 2], [6, 4]]
Ожидается
3

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