@Lucifier :
this is wat i was trying to say :-
string = abcdtrwdcba
find even length substring and hash them , moving from left to right.
hash(abcdtrwdcba) // corner case
hash(ab)
hash(abcd)
hash(abcdtr)
.
.
.
hash(dcba).
after hashing is done.
again hash moving from right to left.
hash(abcd) ---> hash alreday present so ...even length palindrome exists.
you need to take care of cases like for ab ->hash is present , but is part
of bigger substring (abcd) when moving from right to left. so keep track of
the index.
here how to keep track:-
when you find hash of (ab) index=i;
when you find second even palindrome hash(abcd).
if length("abcd") > length("ab");
{
temp_index=current_index + lenght("ab");
if(temp_index== index)
{
// we know ab is the part of bigger string abcd.update
the new even palindrome found.
}
}
--
You received this message because you are subscribed to the Google Groups
"Algorithm Geeks" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/algogeeks?hl=en.