Nejkratší pokrývající podřetězce
Najdi nejkratší podřetězec se všemi požadovanými počty ve dvou textech do 1024 bodů kódu.
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]]- Modely
- Nastavte endpoint kompatibilní s OpenAI nebo Anthropic pomocí základní URL a případného API klíče. Otestujte připojení. Lokální server modelu musí běžet; vzdálené nástroje mohou data odesílat samostatně.
- Projekt
- Ověř prázdné požadavky a chybějící výsledek, zvol nejlevější shodu bez normalizace Unicode.
- Před použitím zkontrolujte
- Porovnejte skutečné chování s očekávaným výsledkem. Pokud kontrola selže, před dalšími změnami zjistěte příčinu.
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]]Popište pravidlo výběru, které musí textová funkce dodržet
Textovou funkci lze snáze změnit, když je požadovaný výsledek přesně stanoven. NeedleThyme poskytuje prostředí pro programování s AI ve Windows k tvorbě těchto požadavků vedle souborů projektu. Popište vstup, obsah, který musí vrácený úsek zahrnovat, i jeho použití aplikací. Před návrhem jiného pravidla požádejte připojeného asistenta o kontrolu současného výběrového kódu.
Příklad pokrývajícího okna nabízí konkrétní úlohu: najít krátký úsek obsahující požadované znaky včetně opakovaných požadavků. Můžete požádat o kontrolu rozlišení chybějícího výsledku od platného prázdného výsledku volajícím i řešení rovnocenných kandidátů. Rozhodnutí propojte s vyvíjenou funkcí. Samotná kompaktní implementace nedokazuje, že viditelný výsledek má zamýšlený význam.
Připojte dostupný model AI bez cenzury přes podporovaný koncový bod kompatibilní s OpenAI nebo koncový bod Anthropic a podle potřeby dodejte přihlašovací údaje. Limity kontextu, nástroje a omezení závisejí na zvoleném modelu a serveru. Prověřte navržené úpravy a reprezentativní úseky otestujte přes volající funkci. Samostatně běžící lokální server modelu vymezuje připojení pro inferenci, ale nezajišťuje lokální běh všech připojených nástrojů či služeb.
Otázky k vrácenému úseku textu
Jak popsat opakované požadované znaky?
Určete, zda musí být zastoupen každý výskyt, nebo stačí pouhá přítomnost. Dodejte krátký příklad rozlišující obě pravidla. Asistent pak může porovnat stávající kód se zamýšleným chováním místo odhadování podle názvu funkce.
Co když vyhovuje více nejkratších úseků?
Pokud aplikace potřebuje stabilní výstup, zvolte pravidlo pro shodu a ověřte, zda je implementace dodržuje. Příklady shod zahrňte do testů projektu. Výsledek může splňovat požadavek délky, a přesto se z pohledu uživatele nepředvídatelně měnit.
Proč rozlišovat chybějící shodu od prázdného požadavku?
Případy mohou znamenat jiné zprávy rozhraní nebo následné akce. Určete reprezentaci očekávanou jednotlivými volajícími a prohlédněte její použití. Neměňte konvenci návratové hodnoty pomocné funkce bez kontroly funkce interpretující výsledek.
Vytvoří NeedleThyme kompletní rozhraní textového vyhledávání?
Prostředí můžete použít k vývoji potřebného projektového kódu, ale příklad vymezuje pouze jednu výběrovou úlohu. Další chování rozhraní popište samostatně, prověřte navržené soubory a ověřte integrovanou funkci ve vlastním aplikačním prostředí.
NeedleThyme · Aktualizováno 2026-10-25