You can convert the list of valid words into any data structure you desire.
If the sequence of number = 2633, and the list of valid words = [ride, used, code, tree, boed],
Then you would print βcodeβ and βboedβ as they can be formed by using the digit sequence and they are also present in the list of valid words.
The first line contains an integer βTβ which denotes the number of test cases or queries to be run. Then the test cases are as follows.
The first and line of each test case consist of the sequence of numbers.
The second line of each test case consists of βWβ, which denotes the number of given valid words.
The third and final line of each test case consists of the list of βWβ valid words.
For each test case, print the list of words that can be formed using the given sequence of numbers and are also present in the given list of valid words.
Print the output of each test case in a separate line.
You donβt need to print anything; It has already been taken care of. You just need to complete the given function.
1 <= T <= 10
1 <= Sequence <= 10
1 <= W <= 200
where βTβ is the number of test cases, βsequenceβ is the length of the given sequence of numbers, and βWβ, is the number of valid words each test case can have.
Time limit: 1 sec
This is the most basic approach and we will simply try every possible value for each digit in the sequence with all other possible values.
Algorithm:
In this approach, we will be doing a little bit of preprocessing in order to make the algorithm faster. So, instead of creating all the possible words from the given sequence and then checking them one by one in the list of valid words, we will simply generate the sequence of all the valid words and check them one by one if they match the given sequence of digits.