Class Solution
- java.lang.Object
-
- g2101_2200.s2135_count_words_obtained_after_adding_a_letter.Solution
-
public class Solution extends Object
2135 - Count Words Obtained After Adding a Letter.Medium
You are given two 0-indexed arrays of strings
startWordsandtargetWords. Each string consists of lowercase English letters only.For each string in
targetWords, check if it is possible to choose a string fromstartWordsand perform a conversion operation on it to be equal to that fromtargetWords.The conversion operation is described in the following two steps:
- Append any lowercase letter that is not present in the string to its end.
- For example, if the string is
"abc", the letters'd','e', or'y'can be added to it, but not'a'. If'd'is added, the resulting string will be"abcd".
- For example, if the string is
- Rearrange the letters of the new string in any arbitrary order.
- For example,
"abcd"can be rearranged to"acbd","bacd","cbda", and so on. Note that it can also be rearranged to"abcd"itself.
- For example,
Return the number of strings in
targetWordsthat can be obtained by performing the operations on any string ofstartWords.Note that you will only be verifying if the string in
targetWordscan be obtained from a string instartWordsby performing the operations. The strings instartWordsdo not actually change during this process.Example 1:
Input: startWords = [“ant”,“act”,“tack”], targetWords = [“tack”,“act”,“acti”]
Output: 2
Explanation:
-
In order to form targetWords[0] = “tack”, we use startWords[1] = “act”, append ‘k’ to it, and rearrange “actk” to “tack”.
-
There is no string in startWords that can be used to obtain targetWords[1] = “act”.
Note that “act” does exist in startWords, but we must append one letter to the string before rearranging it.
- In order to form targetWords[2] = “acti”, we use startWords[1] = “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 targetWords[0] = “abc”, we use startWords[0] = “ab”, add ‘c’ to it, and rearrange it to “abc”.
-
There is no string in startWords that can be used to obtain targetWords[1] = “abcd”.
Constraints:
1 <= startWords.length, targetWords.length <= 5 * 1041 <= startWords[i].length, targetWords[j].length <= 26- Each string of
startWordsandtargetWordsconsists of lowercase English letters only. - No letter occurs more than once in any string of
startWordsortargetWords.
- Append any lowercase letter that is not present in the string to its end.
-
-
Constructor Summary
Constructors Constructor Description Solution()
-