java.lang.Object
g0901_1000.s0943_find_the_shortest_superstring.Solution

public class Solution extends Object
943 - Find the Shortest Superstring.<p>Hard</p> <p>Given an array of strings <code>words</code>, return <em>the smallest string that contains each string in</em> <code>words</code> <em>as a substring</em>. If there are multiple valid strings of the smallest length, return <strong>any of them</strong>.</p> <p>You may assume that no string in <code>words</code> is a substring of another string in <code>words</code>.</p> <p><strong>Example 1:</strong></p> <p><strong>Input:</strong> words = [&ldquo;alex&rdquo;,&ldquo;loves&rdquo;,&ldquo;leetcode&rdquo;]</p> <p><strong>Output:</strong> &ldquo;alexlovesleetcode&rdquo;</p> <p><strong>Explanation:</strong> All permutations of &ldquo;alex&rdquo;,&ldquo;loves&rdquo;,&ldquo;leetcode&rdquo; would also be accepted.</p> <p><strong>Example 2:</strong></p> <p><strong>Input:</strong> words = [&ldquo;catg&rdquo;,&ldquo;ctaagt&rdquo;,&ldquo;gcta&rdquo;,&ldquo;ttca&rdquo;,&ldquo;atgcatc&rdquo;]</p> <p><strong>Output:</strong> &ldquo;gctaagttcatgcatc&rdquo;</p> <p><strong>Constraints:</strong></p> <ul> <li><code>1 <= words.length <= 12</code></li> <li><code>1 <= words[i].length <= 20</code></li> <li><code>words[i]</code> consists of lowercase English letters.</li> <li>All the strings of <code>words</code> are <strong>unique</strong>.</li> </ul>
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • shortestSuperstring

      public String shortestSuperstring(String[] words)