Yeah , its the in-place approach strikes in mind at first look , just
slightly clearing the complexity to O(N^2* Wlog(W)) , N is number of
words in array & W is length of longest word in array , let me know i
missed something ?

 original                 eat I ate att I the eel eth het
 after sorting          I I ate att can eat eel eth het the

output should be  I I ate eat att can eel eth het the

Shashank Mani Narayan
Computer Science & Engineering
Birla Institute of Technology,Mesra
Founder Cracking The Code Lab  "http://shashank7s.blogspot.com/";
FB Page http://www.facebook.com/pages/LestCode
Google+ http://gplus.to/wgpshashank
Twitter "https://twitter.com/wgpshashank";
Puzzled Guy @ "http://ashutosh7s.blogspot.com";
FB Page http://www.facebook.com/Puzzles.For.Puzzled.Minds


On May 22, 8:18 am, Navin Gupta <[email protected]> wrote:
> It can be done inplace, then Time Complexity will be O( N^2 x W ) where N
> is no. of words and  W is word size.
> Start from the left and sort the current word.
> Keep a pointer  PTR  to the first index of the element left to process.
> Initially it will be 0.As we add words this pointer moves forwards.
> Now iterate the whole list of words to find all those words having same
> sorted sequence i.e. anagrams
> Whenver we get a word which is anagram of the current string, swap it with
> the string  pointed by PTR, move PTR forward.
>
> pseudoCode :-
>
> func( vector<string> v)
> {
>    int n=v.size();
>    for(int i=0;i<n;i++)
>    {
>       string currentWord = v[i];
>       sort(currentWord);
>       for(int j=i+1;j<n;j++)
>       {
>           if ( sort(v[j]) == currentWord )    // anagrams found,
>           {
>                swap( v[i] , v[j] );                 //move this string to
> the position next to pos of currentWord
>                  i++;                                //and move the index
> of currentWord forward
>           }
>      }
>
>
>
>
>
>
>
> }

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