Class Solution

  • All Implemented Interfaces:

    
    public final class Solution
    
                        

    2135 - Count Words Obtained After Adding a Letter\.

    Medium

    You are given two 0-indexed arrays of strings startWords and targetWords. Each string consists of lowercase English letters only.

    For each string in targetWords, check if it is possible to choose a string from startWords and perform a conversion operation on it to be equal to that from targetWords.

    The conversion operation is described in the following two steps:

    • Append any lowercase letter that is not present in the string to its end.

    • Rearrange the letters of the new string in any arbitrary order.

    Return the number of strings in targetWords that can be obtained by performing the operations on any string of startWords.

    Note that you will only be verifying if the string in targetWords can be obtained from a string in startWords by performing the operations. The strings in startWords do not actually change during this process.

    Example 1:

    Input: startWords = "ant","act","tack", targetWords = "tack","act","acti"

    Output: 2

    Explanation:

    • In order to form targetWords0 = "tack", we use startWords1 = "act", append 'k' to it, and rearrange "actk" to "tack".

    • There is no string in startWords that can be used to obtain targetWords1 = "act".

    Note that "act" does exist in startWords, but we must append one letter to the string before rearranging it.

    • In order to form targetWords2 = "acti", we use startWords1 = "act", append 'i' to it, and rearrange "acti" to "acti" itself.

    Example 2:

    Input: startWords = "ab","a", targetWords = "abc","abcd"

    Output: 1

    Explanation:

    • In order to form targetWords0 = "abc", we use startWords0 = "ab", add 'c' to it, and rearrange it to "abc".

    • There is no string in startWords that can be used to obtain targetWords1 = "abcd".

    Constraints:

    • <code>1 <= startWords.length, targetWords.length <= 5 * 10<sup>4</sup></code>

    • 1 &lt;= startWords[i].length, targetWords[j].length &lt;= 26

    • Each string of startWords and targetWords consists of lowercase English letters only.

    • No letter occurs more than once in any string of startWords or targetWords.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
      Solution()
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final Integer wordCount(Array<String> startWords, Array<String> targetWords)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait