Class Solution

java.lang.Object
g0801_0900.s0839_similar_string_groups.Solution

public class Solution extends Object
839 - Similar String Groups.<p>Hard</p> <p>Two strings <code>X</code> and <code>Y</code> are similar if we can swap two letters (in different positions) of <code>X</code>, so that it equals <code>Y</code>. Also two strings <code>X</code> and <code>Y</code> are similar if they are equal.</p> <p>For example, <code>&quot;tars&quot;</code> and <code>&quot;rats&quot;</code> are similar (swapping at positions <code>0</code> and <code>2</code>), and <code>&quot;rats&quot;</code> and <code>&quot;arts&quot;</code> are similar, but <code>&quot;star&quot;</code> is not similar to <code>&quot;tars&quot;</code>, <code>&quot;rats&quot;</code>, or <code>&quot;arts&quot;</code>.</p> <p>Together, these form two connected groups by similarity: <code>{&quot;tars&quot;, &quot;rats&quot;, &quot;arts&quot;}</code> and <code>{&quot;star&quot;}</code>. Notice that <code>&quot;tars&quot;</code> and <code>&quot;arts&quot;</code> are in the same group even though they are not similar. Formally, each group is such that a word is in the group if and only if it is similar to at least one other word in the group.</p> <p>We are given a list <code>strs</code> of strings where every string in <code>strs</code> is an anagram of every other string in <code>strs</code>. How many groups are there?</p> <p><strong>Example 1:</strong></p> <p><strong>Input:</strong> strs = [&ldquo;tars&rdquo;,&ldquo;rats&rdquo;,&ldquo;arts&rdquo;,&ldquo;star&rdquo;]</p> <p><strong>Output:</strong> 2</p> <p><strong>Example 2:</strong></p> <p><strong>Input:</strong> strs = [&ldquo;omv&rdquo;,&ldquo;ovm&rdquo;]</p> <p><strong>Output:</strong> 1</p> <p><strong>Constraints:</strong></p> <ul> <li><code>1 <= strs.length <= 300</code></li> <li><code>1 <= strs[i].length <= 300</code></li> <li><code>strs[i]</code> consists of lowercase letters only.</li> <li>All words in <code>strs</code> have the same length and are anagrams of each other.</li> </ul>
  • Constructor Details

    • Solution

      public Solution()
  • Method Details

    • numSimilarGroups

      public int numSimilarGroups(String[] strs)