Suppose I have a string like the following....

mynameisninjailiveinaustraliailikecricket

Now I break the string into overlapping substrings such as

Code:
mynameis      livein 
  nameisninjailive
              liveinaustralia
                    australialike
        ninjaili             likecrick
                       tralialike   cket
                  inaustra
Now my aim is to reconstruct the original string from the overlapping substrings. If not possible to reconstruct the original when multiple solutions exist, then the resultant string must be the shortest. May I get any algorithm to attack this problem please....