Kortste dekkende deelteksten
Zoek de kortste deeltekst met alle vereiste aantallen in twee teksten van maximaal 1024 codepunten.
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]]- Modellen
- Stel een OpenAI-compatibel of Anthropic-endpoint in met de basis-URL en zo nodig een API-sleutel. Test de verbinding. Een lokale modelserver moet actief zijn; externe hulpmiddelen kunnen apart gegevens versturen.
- Project
- Test lege eisen en ontbrekende resultaten, kies de meest linkse gelijke oplossing zonder Unicode-normalisatie.
- Controleer vóór het toepassen
- Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.
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]]Beschrijf de selectieregel waaraan uw tekstfunctie moet voldoen
Een tekstfunctie is eenvoudiger te wijzigen als het gewenste resultaat precies is vastgelegd. NeedleThyme biedt een Windows-programmeerwerkruimte met AI om die vereisten naast de projectbestanden te ontwikkelen. Beschrijf de invoer, de inhoud die een teruggegeven fragment moet bevatten en hoe de toepassing dat gebruikt. Laat de verbonden assistent de huidige selectiecode inspecteren voordat die een andere regel voorstelt.
Het voorbeeld met een dekkend venster biedt één concrete taak: een kort fragment vinden dat de vereiste tekens bevat, inclusief herhaalde vereisten. U kunt laten beoordelen hoe de aanroepende code een afwezig resultaat van een geldig leeg resultaat onderscheidt en hoe gelijkwaardige kandidaten worden behandeld. Houd die beslissingen verbonden met de functie die u bouwt. Een compacte implementatie alleen toont niet aan dat het zichtbare resultaat de bedoelde betekenis heeft.
Verbind een beschikbaar AI-model zonder censuur via een ondersteund OpenAI-compatibel of Anthropic-eindpunt en geef inloggegevens indien vereist. Contextlimieten, hulpmiddelen en beperkingen hangen af van het geselecteerde model en de server. Beoordeel de voorgestelde wijzigingen en test representatieve fragmenten via de aanroepende functie. Een afzonderlijk draaiende lokale modelserver bepaalt de inferentieverbinding, maar maakt niet alle verbonden hulpmiddelen of diensten lokaal.
Vragen over het teruggegeven tekstfragment
Hoe moeten herhaalde vereiste tekens worden beschreven?
Vermeld of elke keer dat een teken voorkomt moet worden vertegenwoordigd of dat alleen aanwezigheid voldoende is. Geef een kort voorbeeld dat de twee regels onderscheidt. De assistent kan de bestaande code dan aan het bedoelde gedrag toetsen in plaats van te gissen op basis van een functienaam.
Wat als meerdere kortste fragmenten voldoen?
Kies een regel voor gelijke kandidaten als de toepassing stabiele uitvoer nodig heeft en inspecteer of de implementatie die volgt. Neem zulke voorbeelden op in de projecttests. Een resultaat kan aan de lengte-eis voldoen en vanuit gebruikersperspectief toch onvoorspelbaar veranderen.
Waarom geen overeenkomst onderscheiden van een lege vereiste?
Die gevallen kunnen verschillende interfaceberichten of vervolgacties vereisen. Specificeer de representatie die elke aanroeper verwacht en inspecteer hoe die wordt gebruikt. Verander de retourconventie van de hulpfunctie niet zonder de functie te beoordelen die de teruggegeven waarde interpreteert.
Bouwt NeedleThyme een volledige tekstzoekinterface?
U kunt de werkruimte gebruiken om de benodigde projectcode te ontwikkelen, maar het voorbeeld legt slechts één selectietaak vast. Beschrijf aanvullend interfacegedrag afzonderlijk, beoordeel voorgestelde bestanden en verifieer de geïntegreerde functie in uw eigen toepassingsomgeving.
NeedleThyme · Bijgewerkt 2026-10-25