Question: PLEASE SOLVE IN JAVA You're attempting to solve a puzzle in an Escape Room with your team where you need to open a door to



PLEASE SOLVE IN JAVA
You're attempting to solve a puzzle in an Escape Room with your team where you need to open a door to get to the next stage. There are several doors, each with a different keypad on it. The keypads each have 7 keys, containing 7 distinct letters. Each keypad looks like this: * * 1 > import java.io.*;. 14 class Result { 15 16 17 * Complete the 'numKeypadSolutions' function below. 18 19 * The function is expected to return an INTEGER_ARRAY. 20 * The function accepts following parameters: 21 1. STRING_ARRAY wordlist 22 2. STRING_ARRAY keypads 23 */ 24 25 public static List numkeypadSolutions List wordlistenlistkeypads) { 26 // Write your code here 27 28 } 29 30 } 31 > public class Solution {... * * Enter a word A E LP S|XY Enter The instructions state that one of the keypads will open the correct door leading to the next stage of the game. Your job is to find a word that unlocks the correct keypad. After struggling for some time, the Escape Room leader gave you a clue, that the first letter of the keypad is guaranteed to be in the word that opens the door. We will call this letter the "key" letter. The goal of this exercise is to come up with as many words as possible that your team can test out on the keypads and find the correct combination to go the next stage of the game. What you know: The correct combination will be a valid English word. The words are at least 5 letters long, with no maximum length. The "key" letter will be in the correct answer. The words do not contain any letters outside the seven letters the keypad. Letters may be reused, including the "key" letter. For our purposes, we'll express each set of keypad letters as a string of length 7, where the first letter (the one at position 0) is the key letter. Requirements Implement a function numkeypad Solutions (wordlist, keypads) that follows the function signature below: Input: wordlist: An array of strings. This is your list of "valid English words" for the purposes of the following puzzles. keypads: An array of strings. Each string is the sequence of letters on the keypad. Output: An array of integers. Each integer should be the number of valid words in the corresponding lock. Constraints: Both the wordlist and the keypad letters will be supplied in all capital letters. All words in the wordlist will be of length 5 or greater. Every sequence of keypad letters will be of exactly length 7. Every sequence of keypad letters will consist of 7 distinct letters. Performance of your solution is important! A naive solution will not get you full points - to score 100/100, you'll need something significantly faster. Example Input: wordlist: ['APPLE', 'PLEAS', 'PLEASE'] keypads: ['AELWXYZ', 'AELPXYZ', 'AELPSXY', 'SAELPRT', 'XAEBKSY'] Expected output: [0, 1, 3, 2, 0] Explanation: None of the words in the wordlist can be formed from the letters in keypad 0. Only APPLE is valid for keypad 1. APPLE, PLEAS and PLEASE are valid for keypad 2. Only PLEAS and PLEASE are valid for keypad 3, since APPLE does not contain the key letter S. None of the words are valid for keypad 4, since none contain the key letter X. Here are a few combinations from the example above: PLEASE Valid PLEASE Valid PLEASE AELPsxY Enter SA ELPR T Enter x AEBK SY Enter Valid APPLE APPLE APPLE AE LP sxY Enter SA ELPR T Enter X A E B K SY Enter Test Cases Your solution will be run against 10 test cases, each worth 10 points, for 100 points total. The first two test cases are small sample cases, so that you can verify your solution is working. For the sake of example, the first two cases use a small wordlist; however, note that all of the remaining test cases use a modified version of the official Scrabble wordlist, SOWPODS. This wordlist has roughly 260,000 entries. (All entries of less than five letters have been removed). The remaining test cases run against an increasing number of randomly-generated puzzles, and so increasingly test the performance of your solution, as follows: Two test cases run against 5 puzzles. Two test cases run against 200 puzzles. Two test cases run against 1,000 puzzles. Two test cases run against 10,000 puzzles. There is no advantage to picking a faster language over a slower one, so pick whatever language you are most comfortable with. Only your last score will be recorded, so make sure to save any solutions that solve some of the test cases. Note that print statements may dramatically slow down your program. Make sure to remove them if you're hitting the time limit! You're attempting to solve a puzzle in an Escape Room with your team where you need to open a door to get to the next stage. There are several doors, each with a different keypad on it. The keypads each have 7 keys, containing 7 distinct letters. Each keypad looks like this: * * 1 > import java.io.*;. 14 class Result { 15 16 17 * Complete the 'numKeypadSolutions' function below. 18 19 * The function is expected to return an INTEGER_ARRAY. 20 * The function accepts following parameters: 21 1. STRING_ARRAY wordlist 22 2. STRING_ARRAY keypads 23 */ 24 25 public static List numkeypadSolutions List wordlistenlistkeypads) { 26 // Write your code here 27 28 } 29 30 } 31 > public class Solution {... * * Enter a word A E LP S|XY Enter The instructions state that one of the keypads will open the correct door leading to the next stage of the game. Your job is to find a word that unlocks the correct keypad. After struggling for some time, the Escape Room leader gave you a clue, that the first letter of the keypad is guaranteed to be in the word that opens the door. We will call this letter the "key" letter. The goal of this exercise is to come up with as many words as possible that your team can test out on the keypads and find the correct combination to go the next stage of the game. What you know: The correct combination will be a valid English word. The words are at least 5 letters long, with no maximum length. The "key" letter will be in the correct answer. The words do not contain any letters outside the seven letters the keypad. Letters may be reused, including the "key" letter. For our purposes, we'll express each set of keypad letters as a string of length 7, where the first letter (the one at position 0) is the key letter. Requirements Implement a function numkeypad Solutions (wordlist, keypads) that follows the function signature below: Input: wordlist: An array of strings. This is your list of "valid English words" for the purposes of the following puzzles. keypads: An array of strings. Each string is the sequence of letters on the keypad. Output: An array of integers. Each integer should be the number of valid words in the corresponding lock. Constraints: Both the wordlist and the keypad letters will be supplied in all capital letters. All words in the wordlist will be of length 5 or greater. Every sequence of keypad letters will be of exactly length 7. Every sequence of keypad letters will consist of 7 distinct letters. Performance of your solution is important! A naive solution will not get you full points - to score 100/100, you'll need something significantly faster. Example Input: wordlist: ['APPLE', 'PLEAS', 'PLEASE'] keypads: ['AELWXYZ', 'AELPXYZ', 'AELPSXY', 'SAELPRT', 'XAEBKSY'] Expected output: [0, 1, 3, 2, 0] Explanation: None of the words in the wordlist can be formed from the letters in keypad 0. Only APPLE is valid for keypad 1. APPLE, PLEAS and PLEASE are valid for keypad 2. Only PLEAS and PLEASE are valid for keypad 3, since APPLE does not contain the key letter S. None of the words are valid for keypad 4, since none contain the key letter X. Here are a few combinations from the example above: PLEASE Valid PLEASE Valid PLEASE AELPsxY Enter SA ELPR T Enter x AEBK SY Enter Valid APPLE APPLE APPLE AE LP sxY Enter SA ELPR T Enter X A E B K SY Enter Test Cases Your solution will be run against 10 test cases, each worth 10 points, for 100 points total. The first two test cases are small sample cases, so that you can verify your solution is working. For the sake of example, the first two cases use a small wordlist; however, note that all of the remaining test cases use a modified version of the official Scrabble wordlist, SOWPODS. This wordlist has roughly 260,000 entries. (All entries of less than five letters have been removed). The remaining test cases run against an increasing number of randomly-generated puzzles, and so increasingly test the performance of your solution, as follows: Two test cases run against 5 puzzles. Two test cases run against 200 puzzles. Two test cases run against 1,000 puzzles. Two test cases run against 10,000 puzzles. There is no advantage to picking a faster language over a slower one, so pick whatever language you are most comfortable with. Only your last score will be recorded, so make sure to save any solutions that solve some of the test cases. Note that print statements may dramatically slow down your program. Make sure to remove them if you're hitting the time limit