java.lang.Object
g1101_1200.s1178_number_of_valid_words_for_each_puzzle.Solution

public class Solution extends Object
1178 - Number of Valid Words for Each Puzzle.<p>Hard</p> <p>With respect to a given <code>puzzle</code> string, a <code>word</code> is <em>valid</em> if both the following conditions are satisfied:</p> <ul> <li><code>word</code> contains the first letter of <code>puzzle</code>.</li> <li>For each letter in <code>word</code>, that letter is in <code>puzzle</code>. <ul> <li>For example, if the puzzle is <code>&quot;abcdefg&quot;</code>, then valid words are <code>&quot;faced&quot;</code>, <code>&quot;cabbage&quot;</code>, and <code>&quot;baggage&quot;</code>, while</li> <li>invalid words are <code>&quot;beefed&quot;</code> (does not include <code>'a'</code>) and <code>&quot;based&quot;</code> (includes <code>'s'</code> which is not in the puzzle).</li> </ul> </li> </ul> <p>Return <em>an array</em> <code>answer</code><em>, where</em> <code>answer[i]</code> <em>is the number of words in the given word list</em> <code>words</code> <em>that is valid with respect to the puzzle</em> <code>puzzles[i]</code>.</p> <p><strong>Example 1:</strong></p> <p><strong>Input:</strong> words = [&ldquo;aaaa&rdquo;,&ldquo;asas&rdquo;,&ldquo;able&rdquo;,&ldquo;ability&rdquo;,&ldquo;actt&rdquo;,&ldquo;actor&rdquo;,&ldquo;access&rdquo;], puzzles = [&ldquo;aboveyz&rdquo;,&ldquo;abrodyz&rdquo;,&ldquo;abslute&rdquo;,&ldquo;absoryz&rdquo;,&ldquo;actresz&rdquo;,&ldquo;gaswxyz&rdquo;]</p> <p><strong>Output:</strong> [1,1,3,2,4,0]</p> <p><strong>Explanation:</strong></p> <p>1 valid word for &ldquo;aboveyz&rdquo; : &ldquo;aaaa&rdquo;</p> <p>1 valid word for &ldquo;abrodyz&rdquo; : &ldquo;aaaa&rdquo;</p> <p>3 valid words for &ldquo;abslute&rdquo; : &ldquo;aaaa&rdquo;, &ldquo;asas&rdquo;, &ldquo;able&rdquo;</p> <p>2 valid words for &ldquo;absoryz&rdquo; : &ldquo;aaaa&rdquo;, &ldquo;asas&rdquo;</p> <p>4 valid words for &ldquo;actresz&rdquo; : &ldquo;aaaa&rdquo;, &ldquo;asas&rdquo;, &ldquo;actt&rdquo;, &ldquo;access&rdquo;</p> <p>There are no valid words for &ldquo;gaswxyz&rdquo; cause none of the words in the list contains letter &lsquo;g&rsquo;.</p> <p><strong>Example 2:</strong></p> <p><strong>Input:</strong> words = [&ldquo;apple&rdquo;,&ldquo;pleas&rdquo;,&ldquo;please&rdquo;], puzzles = [&ldquo;aelwxyz&rdquo;,&ldquo;aelpxyz&rdquo;,&ldquo;aelpsxy&rdquo;,&ldquo;saelpxy&rdquo;,&ldquo;xaelpsy&rdquo;]</p> <p><strong>Output:</strong> [0,1,3,2,0]</p> <p><strong>Constraints:</strong></p> <ul> <li><code>1 <= words.length <= 10<sup>5</sup></code></li> <li><code>4 <= words[i].length <= 50</code></li> <li><code>1 <= puzzles.length <= 10<sup>4</sup></code></li> <li><code>puzzles[i].length == 7</code></li> <li><code>words[i]</code> and <code>puzzles[i]</code> consist of lowercase English letters.</li> <li>Each <code>puzzles[i]</code> does not contain repeated characters.</li> </ul>
  • Constructor Details

    • Solution

      public Solution()
  • Method Details