ForHosting KIT · Text & KI

Wiederholtes Teilstring-Muster

Finden Sie heraus, ob eine Zeichenkette nur ein immer wieder geschriebenes Fragment ist: ababab ist dreimal ab, aaaa ist viermal a, aba dagegen wiederholt sich nicht. Sie erhalten die kleinste Einheit und die genaue Anzahl. Kostenlos in Ihrem Browser.

  • Kostenlos
  • Läuft in Ihrem Browser
  • Ohne Anmeldung
  • Ihre Daten bleiben auf Ihrem Gerät
Nutzen Sie es über WebAPIE-MailTelegramApp bald
Wenn Sie eingeben
Text
ababab
Erhalten Sie
Längeneinheit
2
Anzahl
3
Länge
6

Viele Interviewaufgaben und Datenbereinigungsprüfungen stellen eine einfache Frage: Ist diese Zeichenkette nur ein kürzeres Fragment, das immer wieder geschrieben wurde? Zeichenketten wie ababab, aaaa und xyzxyzxyz sind so aufgebaut; abc und aba nicht. Dieser Erkenner für wiederholte Teilstring-Muster akzeptiert ein einziges nicht leeres Textfeld, führt eine deterministische KMP-Randanalyse (längster echter Präfix-Suffix) aus und liefert die kleinste wiederholende Einheit zusammen mit der exakten Wiederholungszahl. Es gibt keinen Netzaufruf, keine Zufälligkeit und keine Uhrenabhängigkeit — nur Zeichenkettenarithmetik, die Sie Byte für Byte erneut ausführen können.

Was ein wiederholtes Teilstring-Muster ist und wie die Einheit gewählt wird

Eine Zeichenkette hat ein wiederholtes Teilstring-Muster, wenn sie einer nicht leeren Einheit entspricht, die mindestens zweimal Ende an Ende geschrieben ist, ohne Restzeichen. Zum Beispiel ist ababab die Einheit ab dreimal geschrieben, aaaa die Einheit a viermal und xyzxyz die Einheit xyz zweimal. Der Erkenner liefert stets die kleinste solche Einheit: wenn eine Zeichenkette sowohl mit ab als auch mit abab gekachelt werden kann, ist die Antwort ab mit größerer Anzahl, nicht der längere Kandidat.

Wenn keine kürzere Einheit die volle Länge kachelt, wird die Zeichenkette als nicht wiederholt gemeldet: unit entspricht dem Originaltext und count ist eins. Der klassische Linearzeittest baut die KMP-Tabelle des längsten echten Präfix-Suffix für die Zeichenkette der Länge n, setzt period auf n minus der finalen Randlänge und prüft, ob period n teilt und strikt kleiner als n ist. Wenn beides gilt, ist die Einheit das Präfix der Länge period und die Anzahl n geteilt durch period.

Das entspricht dem Brute-Force-Divisorenlauf, der jede Länge von eins bis zum Boden von n durch zwei prüft, bleibt aber O(n) und hängt nie von schwebenden Uhren oder Zufallskeimen ab. Einzeichenketten und leere Validierungsergebnisse werden explizit behandelt: Länge eins kann keine nicht triviale Wiederholung sein, und leerer oder fehlender Text wird abgelehnt, bevor irgendeine LPS-Arbeit läuft.

Wo ein Erkenner für wiederholte Muster seinen Nutzen zeigt

Interviewvorbereitung und Algorithmuskurse nutzen dieses Problem, um Ränder, Perioden und Divisorargumente zu lehren; ein Live-Erkenner lässt Studierende ababab gegen aba prüfen, ohne LPS-Tabellen unter Zeitdruck von Hand zu bauen. Lehrkräfte und LMS-Autoren brauchen ein deterministisches Orakel, das sowohl das boolesche Mustermarkierung als auch die konkrete Einheit liefert, damit Auto-Bewerter jede richtige Erklärung akzeptieren, die dasselbe kleinste Fragment nennt. Datenqualitäts-Pipelines markieren Spalten, die wie versehentliche Copy-Paste-Wiederholungen aussehen (SKU SKU SKU, yesyesyes), bevor sie Suchindizes oder Analytik verschmutzen.

Kompressions- und Kodierungsdemos illustrieren Run-Length-artige Struktur, ohne ein voller Kompressor zu sein: zu zeigen, dass xyzxyzxyz drei Kopien von xyz sind, genügt oft für eine Vorlesungsfolie. Fehlgeschlagene Validierung wird nicht berechnet.

Interview- und Algorithmusübung

Prüfen Sie, ob eine Zeichenkette ein nicht triviales Wiederholungsmuster ist, und benennen Sie die kleinste Einheit und Anzahl gegenüber Lehrbuchlösungen mit KMP und Divisoren.

Datenqualität und doppelte Einfügungen

Markieren Sie Zellen oder Token, die reine Wiederholungen eines kürzeren Fragments sind, bevor sie in Indizes, Kataloge oder Analytik gelangen.

Wie erkennt man ein wiederholtes Teilstring-Muster?

Senden Sie eine nicht leere Zeichenkette im Feld text. Wenn die Zeichenkette keine nicht triviale Wiederholung ist, ist unit die volle Zeichenkette und count ist 1.

Was ist die kleinste wiederholende Einheit?

Es ist das kürzeste nicht leere Präfix, das die ganze Zeichenkette ohne Rest kachelt. Für ababab ist die Einheit ab (nicht abab). Für aaaa ist die Einheit a.

Welchen Algorithmus verwendet der Erkenner?

Einen KMP-Periodentest des längsten echten Präfix-Suffix (LPS): wenn period = n - lps[n-1] n teilt und kürzer als n ist, ist die Einheit das Präfix dieser Länge. Äquivalent zum Prüfen jeder Divisorlänge, aber in Linearzeit.

Was erhalte ich, wenn sich die Zeichenkette nicht wiederholt?

Eine normale Antwort, keinen Fehler: Das Ergebnis meldet keine Wiederholung, die Einheit ist die ganze Zeichenkette, und die Anzahl ist eins. Gewöhnliche Zeichenketten ohne Muster wie abc werden genauso behandelt.

Muss die Einheit die ganze Zeichenkette füllen?

Ja. Eine Zeichenkette gilt nur dann als Wiederholung, wenn die Einheit, mindestens zweimal hintereinander geschrieben, sie ohne übrige Zeichen ausfüllt. Deshalb ist aba keine Wiederholung, obwohl es mit a beginnt und endet.

Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.

POSThttps://api.kit.forhosting.com/dev/repeated-substring

Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.

curl -X POST https://api.kit.forhosting.com/dev/repeated-substring \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"ababab"}'
{
  "text": "ababab"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.repeated_substring",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.

pro Anfrage$0.002

Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.

HTTPCodeBedeutung
401unauthorizedDer API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer).
402insufficient_balanceIhr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht.
404unknown_typeUnbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog.
429rate_limitedZu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt.

Wenn keine kürzere Einheit die ganze Zeichenkette kachelt, markiert die Antwort is_repeated als false, setzt unit auf den vollen Text und count auf eins, sodass Aufrufer stets einen stabilen Vertrag erhalten.

Was ein wiederholtes Teilstring-Muster ist und wie die Einheit gewählt wird

Dieser Vertrag ist für Pipelines freundlicher als ein harter Fehler bei Nicht-Mustern, weil Aufrufer über is_repeated verzweigen können, ohne gewöhnliche einzigartige Zeichenketten als ungültige Eingabe zu behandeln.

Eingabevertrag, Antwortfelder und Fehlerverhalten

Beispiel: aaaa liefert unit a und count vier. Halten Sie Eingaben unter der dokumentierten Zeichendecke; zu große Einfügungen scheitern mit einer expliziten Grenzmeldung statt eines stillen abgeschnittenen Schnitts. Senden Sie per POST einen JSON-Körper mit einem Pflichtfeld text, das eine nicht leere Zeichenkette enthält. Aliase input, string, value, s und source werden akzeptiert, damit Abfrageformulare, Tabellen und typisierte SDK-Wrapper denselben Vertrag ohne Umbenennen von Spalten nutzen können. Endliche Zahlen und Bigints werden zuerst in Zeichenketten umgewandelt, sodass ein als nackte Zahl getippter Produktcode sauber analysiert wird; Booleans, einfache Objekte und Arrays werden abgelehnt, damit ein fehlerhafter JSON-Körper nicht zum Wort true oder zu einem nutzlosen Objektdump wird. Leere Zeichenketten und fehlendes text scheitern mit invalid_input und werden nicht berechnet. Bei Erfolg enthält der Körper text (Echo der analysierten Zeichenkette), is_repeated (true wenn count mindestens zwei ist), unit (kleinstes wiederholendes Fragment oder die volle Zeichenkette wenn nicht wiederholt), unit_length, count, length des Originaltexts und method fest auf kmp_period für Protokolle und Multi-Tool-Pipelines. Beispiel: ababab liefert unit ab, unit_length zwei, count drei, is_repeated true. Beispiel: abc liefert unit abc, count eins, is_repeated false. Kombinieren Sie den kostenlosen Browserlauf auf dieser Seite mit der kostenpflichtigen API, wenn Sie dieselbe Einheit und Anzahl in CI, Bewertungsskripten oder Edge-Workern brauchen, ohne KMP selbst neu zu implementieren.

Wo ein Erkenner für wiederholte Muster seinen Nutzen zeigt

Weil die Implementierung reines Parse der Stufe A ist, kostet jeder erfolgreiche Aufruf den veröffentlichten Basispreis $0.002, ohne Modell-Token und ohne ausgehendes Netz.

LMS- und Hausaufgaben-Autobewertung

Bewerten Sie Teilstring-Wiederholungsaufgaben mit einem deterministischen Orakel, das unit, count und is_repeated für stabilen Vergleich liefert.

Was, wenn die Zeichenkette nicht wiederholt ist?

Der Aufruf gelingt trotzdem: is_repeated ist false, unit entspricht dem Originaltext und count ist 1. Nur fehlendes oder leeres text ist invalid_input.

Was kostet der Erkenner für wiederholte Teilstring-Muster?

Das Browser-Werkzeug ist kostenlos. API-Anfragen nutzen das vorausbezahlte KIT-Guthaben zu $0.002 pro erfolgreichem Aufruf; ungültige Eingabe wird nicht berechnet.

Vollständige KIT-Dokumentation lesen →