pasa_ Creative Commons License 2002.07.20 0 0 94
Elso nekifutasra azt mondanam, hogy az 'aa' szora az algoritmus 3-at ad, mig a helyes eredmeny 2.

Az if-ben inkabb azt kene nezni, hogy szerepelt-e mar a betu a string hatul levo reszeben, akkor mintha jo eredmeny jonne ki.
A last[] erre azert nem jo, mert 0 ertek irodik bele egyes esetekben.

exist[] = {0,0,0,0}

A ciuklusban meg

if exist[ord(v[i])] = 0 then
result <- 2 * result + 1 , exist[ord(v[i])] = 1
else
result <- 2 * result - last[ ord(v[i]) ]

illetve, ahogy latom csak az utolso betunel van gebaszt a last[]-ban, igy az eredeti algo ugy is javithato, ha az if-et kiegeszitjuk azzal, hogy
AND (i = n-1 OR v[i] <> v[n-1] )

Pasa

Előzmény: encse (92)