Matti Mäkitalo: Effizientes Finden eines längsten Substrings

Beitrag lesen

Hi,

und die Erweiterung auf beliebige Zeichen ist bei meinem Ansatz auch schnell gemacht. Die Änderung beschränkt sich darauf, nicht Zeichen[i]=='h' abzuprüfen, sondern Zeichen[i]==Zeichen[i-1]. Dann findet der Algorithmus die längste ununterbrochene Folge eines beliebigen Zeichens - sogar ohne das Zeichen vorher zu kennen.

Ich kenne die Interna von PHP nicht, daher korrigiert mich bitte, wenn ich falsch liege.
Birgt der []-Operator nicht die Gefahr, sich ganz schnell O(n) Zugriffe einzuhandeln?

Mit einem Char-Array fester Größe (wenn ich das aus C-Sicht sehe) könnte ich in O(1) auf ein beliebiges Zeichen zugreifen, bei Arrays (Strings) mit beliebiger Länge müsste ich mich da durchwursteln und wäre z.B. bei einer verketteten Liste bei O(n)?

Da wäre es vielleicht sogar sinnvoller, mit Iteratoren durch den Array durchzugehen. Wenn der Array nur eine einfach verkettete Liste ist, dann müsste man eine Referenz auf das letzte Zeichen (oder das Zeichen selber) speichern.

Bis die Tage,
Matti