An O(n^3) solution.Wanna know if it's possible to optimize without using
trees.

#include<iostream>
#include<string.h>
using namespace std;
char* substring(char*s,int start,int finish)
    {
        int ctr=0;
        char str[1000];
        while(start<=finish)
            {
                str[ctr]=s[start];
                start+=1;
                ctr+=1;
            }
        str[ctr]='\0';
        return str;
    }
bool isPalindrome(char *s)
    {
        int size=strlen(s);
        int j=size-1;
        int i=0;
        while((s[i]==s[j])&&(i<j))
        {
            i+=1;
            j-=1;
        }
        if (i>=j)
        return true;
        else
        return false;
    }
int main()
    {

        int i,j;
        char s[100];
        cin>>s;

        int size=strlen(s);
        int tempMax=size-1;
        while(tempMax>1)
        {
        for(i=0;i+tempMax<size;i++)
            {
                if(isPalindrome(substring(s,i,i+tempMax)))//O(n)
                    {
                        puts(substring(s,i,i+tempMax));
                        cout<<" of size "<<tempMax<<"\n";
                        break;
                    }
            }
        tempMax-=1;
        }


        return 0;
    }




On Sat, Aug 21, 2010 at 12:12 PM, Chonku <[email protected]> wrote:

> I definitely meant a suffix Tree and not a trie. Apologize for that. :)
>
> On Fri, Aug 20, 2010 at 8:47 PM, Nikhil Jindal <[email protected]>wrote:
>
>> @chonku
>> As i understand, a trie is used when we have a lot of strings (such as a
>> dictionary).
>> Here we just have a single string. The resultant trie will be:
>>
>> a
>>  \
>>   b
>>    \
>>     c
>>      \
>>       l
>>        \
>>         e
>>          \
>>           v
>>            \
>>             e
>>              \
>>               l
>>                \
>>                 a
>>                  \
>>                   b
>>                    \
>>                     c
>>
>> We get a similar trie for the reverse string.
>>
>> So why are you using a trie here? I cant see any advantage of it here.
>>
>> On Fri, Aug 20, 2010 at 8:36 AM, Chonku <[email protected]> wrote:
>>
>>> Can we use a trie here.
>>> Make first pass from left to right and construct the trie.
>>> Make second pass from right to left and look for the trie branch with
>>> maximum nodes that match the characters.
>>>
>>>   On Thu, Aug 19, 2010 at 7:46 PM, Nikhil Jindal <[email protected]
>>> > wrote:
>>>
>>>>  Hi All,
>>>>
>>>> Givan a string, you have to find the longest palindromic substring.
>>>> For ex: Longest Palindromic substring for abclevelabc is level.
>>>>
>>>> What is the most optimised solution possible?
>>>>
>>>> Please access the attached hyperlink for an important electronic 
>>>> communications disclaimer: 
>>>> http://dce.edu/web/Sections/Standalone/Email_Disclaimer.php
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>>
>>>> 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] 
>>>> <algogeeks%[email protected]>.
>>>>
>>>>
>>>> For more options, visit this group at 
>>>> http://groups.google.com/group/algogeeks?hl=en.
>>>>
>>>>
>>>>
>>> --
>>> 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]<algogeeks%[email protected]>
>>> .
>>> For more options, visit this group at
>>> http://groups.google.com/group/algogeeks?hl=en.
>>>
>>
>> Please access the attached hyperlink for an important electronic 
>> communications disclaimer: 
>> http://dce.edu/web/Sections/Standalone/Email_Disclaimer.php
>>
>>
>>
>> --
>>
>> 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] 
>> <algogeeks%[email protected]>.
>>
>>
>> For more options, visit this group at 
>> http://groups.google.com/group/algogeeks?hl=en.
>>
>>
>>
>  --
> 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]<algogeeks%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/algogeeks?hl=en.
>

-- 
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.

Reply via email to