UUnionPebble
Продукт

Возможности программы · Группировка непересекающихся компонент

01

Сопоставьте рёбра примера с возвращёнными группами и учтите изолированные вершины перед передачей меток компонент вызывающему коду.

01

Подключение

Базовый URL, учётные данные и доступный сервер.

02

Выбор

Модель, которую предоставляет настроенный endpoint.

03

Возможности

Объём контекста и поддержка инструментов определяются моделью и сервером.

Группировка непересекающихся компонент

● ● ●UnionPebble●
Конкретная отправная точка · Группировка непересекающихся компонент ×
def components(count, edges):
    if type(count) is not int or not 0 <= count <= 10000:
        raise ValueError("node count")
    pairs = list(edges)
    for pair in pairs:
        if len(pair) != 2 or any(type(v) is not int or not 0 <= v < count for v in pair):
            raise ValueError("edge endpoint")
    parent = list(range(count))
    def find(x):
        while parent[x] != x:
            parent[x] = parent[parent[x]]
            x = parent[x]
        return x
    for a, b in pairs:
        parent[find(b)] = find(a)
    groups = {}
    for node in range(count): groups.setdefault(find(node), []).append(node)
    return sorted(groups.values())
✳Сгруппируйте нумерованные узлы по неориентированным связям через систему непересекающихся множеств.
✓ ИзмененияПроверьте перед применением ↗
Иллюстрация рабочей среды
Рабочая среда с ИИ для кода

Здесь начинается ваше следующее изменение.

Скачать для Windows ↗