NNeedleThyme
Ambiente de programação com IA

Subcadeias mínimas de cobertura

Encontre a menor substring que cubra as contagens exigidas em dois textos de até 1024 pontos de código.

● ● ●NeedleThyme●
Fluxos de trabalho · Subcadeias mínimas de cobertura ×
from collections import Counter

def covering_window(text, required):
    if type(text) is not str or type(required) is not str or max(len(text), len(required)) > 1024:
        raise ValueError("window.input")
    if not required:
        return ""
    need, missing, left, best = Counter(required), len(required), 0, None
    for right, char in enumerate(text, 1):
        if need[char] > 0:
            missing -= 1
        need[char] -= 1
        while missing == 0:
            if best is None or right-left < best[1]-best[0]:
                best = (left, right)
            old = text[left]
            need[old] += 1
            if need[old] > 0:
                missing += 1
            left += 1
    return "" if best is None else text[best[0]:best[1]]
✳Subcadeias mínimas de cobertura
✓ AlteraçõesRevise antes de aplicar ↗
Ilustração do ambiente
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.
Projeto
Teste requisitos vazios e ausência de resultado, escolhendo o empate mais à esquerda sem normalizar Unicode.
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

Subcadeias mínimas de cobertura

Fluxos de trabalho ↗
Fluxos de trabalho
from collections import Counter

def covering_window(text, required):
    if type(text) is not str or type(required) is not str or max(len(text), len(required)) > 1024:
        raise ValueError("window.input")
    if not required:
        return ""
    need, missing, left, best = Counter(required), len(required), 0, None
    for right, char in enumerate(text, 1):
        if need[char] > 0:
            missing -= 1
        need[char] -= 1
        while missing == 0:
            if best is None or right-left < best[1]-best[0]:
                best = (left, right)
            old = text[left]
            need[old] += 1
            if need[old] > 0:
                missing += 1
            left += 1
    return "" if best is None else text[best[0]:best[1]]
Ambiente de programação com IA

Descreva a regra de seleção que seu recurso de texto deve obedecer

Um recurso de texto fica mais fácil de alterar quando o resultado desejado é declarado com precisão. O NeedleThyme oferece um ambiente de programação com IA para Windows para desenvolver esses requisitos junto dos arquivos do projeto. Descreva a entrada, o conteúdo que um trecho retornado deve conter e como a aplicação o utiliza. Peça ao assistente conectado que examine o código atual de seleção antes de propor outra regra.

O exemplo de janela de cobertura oferece uma tarefa concreta: encontrar um trecho curto que contenha os caracteres exigidos, incluindo exigências repetidas. Você pode solicitar uma revisão de como o chamador distingue um resultado ausente de um resultado vazio válido e de como candidatos equivalentes são tratados. Mantenha essas decisões vinculadas ao recurso em construção. Uma implementação compacta sozinha não estabelece que o resultado visível tenha o significado pretendido.

Conecte um modelo de IA sem censura disponível por um endpoint compatível com OpenAI ou endpoint Anthropic suportado, fornecendo credenciais se exigidas. Limites de contexto, ferramentas e restrições dependem do modelo e do servidor selecionados. Revise as edições propostas e teste trechos representativos por meio do recurso chamador. Um servidor de modelos local em execução separada define a conexão de inferência, mas não torna locais todas as ferramentas ou serviços conectados.

Perguntas sobre o trecho de texto retornado

Como descrever caracteres exigidos repetidos?

Declare se cada ocorrência deve ser representada ou se basta a presença. Forneça um exemplo curto que diferencie as duas regras. Assim, o assistente pode revisar o código existente em relação ao comportamento pretendido, em vez de adivinhar pelo nome do recurso.

E se mais de um trecho mais curto atender aos critérios?

Escolha uma regra de desempate se a aplicação precisar de saída estável e examine se a implementação a segue. Inclua exemplos empatados nos testes do projeto. Um resultado pode satisfazer o requisito de comprimento e ainda mudar de forma imprevisível para o usuário.

Por que distinguir ausência de correspondência de um requisito vazio?

Esses casos podem implicar mensagens diferentes na interface ou ações posteriores. Especifique a representação esperada por cada chamador e examine como ela é consumida. Evite mudar a convenção de retorno da função sem revisar o recurso que interpreta o valor retornado.

O NeedleThyme construirá uma interface completa de busca de texto?

Você pode usar o ambiente para desenvolver o código necessário do projeto, mas o exemplo estabelece apenas uma tarefa de seleção. Descreva comportamentos adicionais da interface separadamente, revise os arquivos propostos e verifique o recurso integrado no ambiente da sua aplicação.

Baixar para Windows ↗

NeedleThyme · Atualizado 2026-10-25