Mid/SeniorArrayStringTrie

Words Within Two Edits of Dictionary

You are given two string arrays, queries and dictionary. All words in each array comprise lowercase English letters and have the same length.

In one edit, you can take a word from queries and change any letter in it to any other letter. Find all words from queries that, after a maximum of two edits, equal some word from dictionary.

Return a list of all words from queries that match some word from dictionary after a maximum of two edits. Return the words in the same order they appear in queries.

Example 1
Inputqueries = ["word","note","ants","wood"], dictionary = ["wood","joke","moat"]
Output["word","note","wood"]
"word" can become "wood" with one edit, "note" can become "joke" with two edits, "ants" needs more than two edits, and "wood" already matches.
Example 2
Inputqueries = ["yes"], dictionary = ["not"]
Output[]
Applying any two edits to "yes" cannot make it equal to "not", so the result is empty.

Constraints

  • 1 <= queries.length, dictionary.length <= 100
  • n == queries[i].length == dictionary[j].length
  • 1 <= n <= 100
  • All queries[i] and dictionary[j] are composed of lowercase English letters.

Asked at 4 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate