Einzelnen Beitrag anzeigen

Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Längste sich wiederholende Sequenz im String finden

  Alt 24. Apr 2009, 18:23
ich hab' noch keine Idee, aber spontan ist mir eingefallen, das man es von hinten aufzäumen könnte. Da dort die Grenzen noch offensichtlicher sind, ist ein Code leichter gefunden

Man holt sich also den größt möglichen Ausschnitt, der doppelt vorkommen kann (length div 2) und vergleicht den mit dem Rest.

Gleich, dann gefunden

Ungleich, dann Ausschnitt ein Wert (Byte/Zeichen) kürzer. Ab jetzt muss man die aktuelle Ausschnitt-Länge im Offset verschieben, bis Restzeichen weniger als Ausschnitt-Länge sind.

Jetzt kommt sicher gleich jemand, der Algorithmus XYZ präsentiert, der die Aufgabe elegant und schnell löst
  Mit Zitat antworten Zitat