UUnionPebble
Fluxos de trabalho

Fluxos de programação · Agrupamento de componentes disjuntos

03
Produto

Fluxos de trabalho

Agrupe nós numerados por conexões não direcionadas usando conjuntos disjuntos. Teste nós isolados, arestas repetidas e um grafo vazio, rejeitando extremidades inválidas antes de unir componentes.

01

Baixe o aplicativo

Escolha uma pasta e peça ao assistente que leia os arquivos relevantes antes de editá-los. Defina o objetivo e os limites da tarefa.

02

Abra a pasta do projeto

Escolha um endpoint compatível. As ferramentas disponíveis e a qualidade das respostas dependem do modelo e do servidor configurados.

03

Conecte e teste o modelo

Confira as alterações e a saída dos comandos. Execute as verificações do projeto antes de aceitar o resultado; código gerado não vem automaticamente testado.

04

Revise as alterações e execute os testes

Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.

Agrupamento de componentes disjuntos

Fluxos de trabalho
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())

Revise antes de aplicar. Confira as alterações e a saída dos comandos. Execute as verificações do projeto antes de aceitar o resultado; código gerado não vem automaticamente testado.

Ambiente de programação com IA

Seu próximo projeto começa aqui.

Baixar para Windows ↗