NNeedleThyme
KI-Arbeitsumgebung für Code

Kürzeste abdeckende Teilzeichenfolgen

Finde die kürzeste Teilzeichenfolge mit allen geforderten Zeichenhäufigkeiten in zwei Texten bis 1024 Codepunkten.

● ● ●NeedleThyme●
Arbeitsabläufe · Kürzeste abdeckende Teilzeichenfolgen ×
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]]
✳Kürzeste abdeckende Teilzeichenfolgen
✓ ÄnderungenVor dem Anwenden prüfen ↗
Illustration der Arbeitsumgebung
Modelle
Richten Sie einen OpenAI-kompatiblen oder Anthropic-Endpunkt mit Basis-URL und gegebenenfalls API-Schlüssel ein. Testen Sie die Verbindung. Ein lokaler Modellserver muss laufen; entfernte Werkzeuge können Daten separat übertragen.
Projekt
Teste leere Anforderungen und fehlende Treffer, wähle den linkesten Gleichstand ohne Unicode-Normalisierung.
Vor dem Anwenden prüfen
Vergleichen Sie das tatsächliche Verhalten mit dem erwarteten Ergebnis. Klären Sie fehlgeschlagene Prüfungen vor weiteren Änderungen.
Arbeitsabläufe

Kürzeste abdeckende Teilzeichenfolgen

Arbeitsabläufe ↗
Arbeitsabläufe
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]]
KI-Arbeitsumgebung für Code

Die Auswahlregel Ihrer Textfunktion beschreiben

Eine Textfunktion lässt sich leichter ändern, wenn das gewünschte Ergebnis präzise feststeht. NeedleThyme bietet einen KI-Programmierarbeitsbereich für Windows, um diese Anforderungen neben den Projektdateien zu entwickeln. Beschreiben Sie Eingabe, erforderlichen Inhalt eines zurückgegebenen Ausschnitts und dessen Verwendung in der Anwendung. Lassen Sie den verbundenen Assistenten den aktuellen Auswahlcode prüfen, bevor er eine andere Regel vorschlägt.

Das Beispiel eines abdeckenden Textfensters bietet eine konkrete Aufgabe: einen kurzen Ausschnitt finden, der die benötigten Zeichen einschließlich mehrfach verlangter Vorkommen enthält. Sie könnten prüfen lassen, wie der Aufrufer ein fehlendes von einem gültigen leeren Ergebnis unterscheidet und wie gleichwertige Kandidaten behandelt werden. Binden Sie diese Entscheidungen an die entwickelte Funktion. Eine kompakte Implementierung allein belegt nicht, dass das sichtbare Ergebnis die beabsichtigte Bedeutung hat.

Verbinden Sie ein verfügbares unzensiertes KI-Modell über einen unterstützten OpenAI-kompatiblen oder Anthropic-Endpunkt, bei Bedarf mit Zugangsdaten. Kontextgrenzen, Werkzeuge und Einschränkungen hängen vom gewählten Modell und Server ab. Prüfen Sie die vorgeschlagenen Änderungen und testen Sie repräsentative Ausschnitte über die aufrufende Funktion. Ein separat laufender lokaler Modellserver definiert die Inferenzverbindung, macht aber nicht alle verbundenen Werkzeuge oder Dienste lokal.

Fragen zum zurückgegebenen Textausschnitt

Wie beschreibe ich mehrfach benötigte Zeichen?

Legen Sie fest, ob jedes Vorkommen enthalten sein muss oder bloße Anwesenheit genügt. Liefern Sie ein kurzes Beispiel, das beide Regeln unterscheidet. Der Assistent kann dann den bestehenden Code anhand des beabsichtigten Verhaltens prüfen, statt vom Funktionsnamen auszugehen.

Was ist, wenn mehrere kürzeste Ausschnitte passen?

Wählen Sie bei benötigter stabiler Ausgabe eine Gleichstandsregel und prüfen Sie deren Umsetzung. Nehmen Sie Gleichstandsfälle in Projekttests auf. Ein Ergebnis kann die Längenanforderung erfüllen und sich aus Nutzersicht dennoch unvorhersehbar ändern.

Warum keinen Treffer von einer leeren Anforderung unterscheiden?

Diese Fälle können unterschiedliche Meldungen oder Folgeaktionen erfordern. Legen Sie die von jedem Aufrufer erwartete Darstellung fest und prüfen Sie deren Verwendung. Ändern Sie die Rückgabekonvention der Hilfsfunktion nicht ohne Prüfung der Funktion, die den Wert interpretiert.

Erstellt NeedleThyme eine vollständige Textsuchoberfläche?

Sie können den Arbeitsbereich zur Entwicklung des benötigten Projektcodes nutzen, doch das Beispiel umfasst nur eine Auswahlaufgabe. Beschreiben Sie zusätzliches Oberflächenverhalten gesondert, prüfen Sie vorgeschlagene Dateien und verifizieren Sie die integrierte Funktion in Ihrer eigenen Anwendungsumgebung.

Für Windows herunterladen ↗

NeedleThyme · Aktualisiert 2026-10-25