HHopwise
Ambiente de programação com IA

Menor número de saltos dirigidos

Calcule as menores distâncias em saltos dirigidos desde um vértice num grafo de 1 a 1000 vértices.

● ● ●Hopwise●
Fluxos de trabalho · Menor número de saltos dirigidos ×
from collections import deque

def hop_distances(graph, start):
    if type(graph) is not list or not 1 <= len(graph) <= 1000:
        raise ValueError("graph.size")
    n = len(graph)
    if type(start) is not int or not 0 <= start < n:
        raise ValueError("graph.start")
    if any(type(row) is not list or any(type(v) is not int or
           not 0 <= v < n for v in row) for row in graph):
        raise ValueError("graph.edges")
    distances = [None]*n
    distances[start] = 0
    queue = deque([start])
    while queue:
        u = queue.popleft()
        for v in graph[u]:
            if distances[v] is None:
                distances[v] = distances[u]+1
                queue.append(v)
    return distances
✳Menor número de saltos dirigidos
✓ AlteraçõesRevise antes de aplicar ↗
Ilustração do ambiente
01

Modelos

Configure um endpoint compatível com OpenAI ou Anthropic com a URL base e uma chave API, quando necessária. Teste a conexão. O servidor local precisa estar em execução; ferramentas remotas podem transmitir dados separadamente.

02

Projeto

Teste ciclos, arestas repetidas e vértices inalcançáveis, rejeitando grafo vazio ou extremos inválidos antes da travessia.

03

Revise antes de aplicar

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

Fluxos de trabalho

Menor número de saltos dirigidos

Fluxos de trabalho ↗
Fluxos de trabalho
from collections import deque

def hop_distances(graph, start):
    if type(graph) is not list or not 1 <= len(graph) <= 1000:
        raise ValueError("graph.size")
    n = len(graph)
    if type(start) is not int or not 0 <= start < n:
        raise ValueError("graph.start")
    if any(type(row) is not list or any(type(v) is not int or
           not 0 <= v < n for v in row) for row in graph):
        raise ValueError("graph.edges")
    distances = [None]*n
    distances[start] = 0
    queue = deque([start])
    while queue:
        u = queue.popleft()
        for v in graph[u]:
            if distances[v] is None:
                distances[v] = distances[u]+1
                queue.append(v)
    return distances
Ambiente de programação com IA

Mantenha os resultados de grafos significativos para a aplicação

Um resultado de grafo só é útil quando o código chamador entende o significado de cada valor. Hopwise oferece um ambiente de programação com IA para Windows para código relacionado a grafos, ligando o código-fonte a uma conversa sobre seu contrato. Comece pela representação da entrada e pela forma como a aplicação exibe ou utiliza o resultado, em vez de pedir a substituição isolada de um algoritmo.

Para uma tarefa de menor número de saltos, mostre um pequeno grafo direcionado com vértices alcançáveis e inalcançáveis. Peça ao modelo conectado que examine como a implementação diferencia o vértice inicial de um vértice sem caminho. Inclua um ciclo para que a revisão considere descobertas repetidas, além da cadeia direta mais simples.

Em seguida, examine o limite onde os dados do grafo entram na função. Referências inválidas a vértices devem seguir uma política deliberada, e a direção deve corresponder ao significado de uma aresta na aplicação. Revise as edições propostas junto com o código consumidor e execute casos que verifiquem resultados exatos para cada vértice. Mantenha visível na interface o tratamento de estados inalcançáveis após o cálculo.

Hopwise suporta endpoints adequados compatíveis com OpenAI ou da Anthropic, incluindo um modelo de IA sem censura quando disponível. O comportamento real das respostas, os limites de contexto e as ferramentas dependem dessa configuração. O ambiente apoia a investigação; evidências dos casos de teste de grafos e dos testes de integração determinam se a alteração está pronta para ser mantida.

Resultados de grafos significativos para a aplicação — perguntas antes de editar

Que grafo devo usar para explicar o problema?

Escolha um pequeno exemplo direcionado com um ciclo, um vértice inalcançável e um início claramente identificado. Escreva o resultado esperado para cada vértice. Isso facilita examinar a direção e a semântica de ausência de caminho em comparação com um grande grafo de produção.

Por que diferenciar zero saltos de inalcançável?

Zero descreve a distância do vértice inicial até ele mesmo, enquanto inalcançável significa que nenhum caminho foi encontrado sob o contrato do grafo. Se o código chamador confundir os dois, uma interface poderá mostrar uma conexão inexistente. Revise a representação do retorno junto com seus consumidores.

Posso usar contagens de saltos para caminhos ponderados?

Somente quando todas as arestas representam o mesmo custo para a finalidade da tarefa. Se os pesos forem importantes, explique esse requisito antes de solicitar alterações. Uma implementação de menor número de saltos não deve ser apresentada como solução para um objetivo de otimização diferente.

Onde referências inválidas a vértices devem ser tratadas?

Defina a política no limite de entrada e examine o código chamador existente. Peça ao modelo que preserve um fluxo claro de rejeição ou validação. Os testes devem incluir referências malformadas para que um comportamento acidental de indexação não se torne o contrato da aplicação.

Baixar para Windows ↗

Hopwise · Atualizado 2026-10-25