Subcadeias mínimas de cobertura
Encontre a menor substring que cubra as contagens exigidas em dois textos de até 1024 pontos de código.
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]]- 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.
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]]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.
NeedleThyme · Atualizado 2026-10-25