2325. Decode the Message

Difficulty:
Related Topics:
Similar Questions:

    Problem

    You are given the strings key and message, which represent a cipher key and a secret message, respectively. The steps to decode message are as follows:

    Return the decoded message.

      Example 1:

    Input: key = "the quick brown fox jumps over the lazy dog", message = "vkbs bs t suepuv"
    Output: "this is a secret"
    Explanation: The diagram above shows the substitution table.
    It is obtained by taking the first appearance of each letter in "the quick brown fox jumps over the lazy dog".
    

    Example 2:

    Input: key = "eljuxhpwnyrdgtqkviszcfmabo", message = "zwx hnfx lqantp mnoeius ycgk vcnjrdb"
    Output: "the five boxing wizards jump quickly"
    Explanation: The diagram above shows the substitution table.
    It is obtained by taking the first appearance of each letter in "eljuxhpwnyrdgtqkviszcfmabo".
    

      Constraints:

    Solution (Java)

    class Solution {
        public String decodeMessage(String key, String message) {
            StringBuilder sb = new StringBuilder();
            Map<Character, Character> temp = new HashMap<>();
            char[] alphabet = new char[26];
            int itr = 0;
            for (char c = 'a'; c <= 'z'; ++c) {
                alphabet[c - 'a'] = c;
            }
            for (int i = 0; i < key.length(); i++) {
                if (!temp.containsKey(key.charAt(i)) && key.charAt(i) != ' ') {
                    temp.put(key.charAt(i), alphabet[itr++]);
                }
            }
            for (int j = 0; j < message.length(); j++) {
                if (message.charAt(j) == ' ') {
                    sb.append(' ');
                } else {
                    char result = temp.get(message.charAt(j));
                    sb.append(result);
                }
            }
            return sb.toString();
        }
    }
    

    Explain:

    nope.

    Complexity: