Class Solution

  • All Implemented Interfaces:

    
    public final class Solution
    
                        

    2325 - Decode the Message\.

    Easy

    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:

    • Use the first appearance of all 26 lowercase English letters in key as the order of the substitution table.

    • Align the substitution table with the regular English alphabet.

    • Each letter in message is then substituted using the table.

    • Spaces ' ' are transformed to themselves.

    • For example, given <code>key = "<ins> hap </ins>p<ins> y </ins> <ins> bo </ins>y"</code> (actual key would have at least one instance of each letter in the alphabet), we have the partial substitution table of ('h' -&gt; 'a', 'a' -&gt; 'b', 'p' -&gt; 'c', 'y' -&gt; 'd', 'b' -&gt; 'e', 'o' -&gt; 'f').

    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 "<ins> the </ins> <ins> quick </ins> <ins> brown </ins> <ins> f </ins>o<ins> x </ins> <ins> j </ins>u<ins> mps </ins> o<ins> v </ins>er the <ins> lazy </ins> <ins> d </ins>o<ins> g </ins>".

    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 "<ins> eljuxhpwnyrdgtqkviszcfmabo </ins>".

    Constraints:

    • 26 &lt;= key.length &lt;= 2000

    • key consists of lowercase English letters and ' '.

    • key contains every letter in the English alphabet ('a' to 'z') at least once.

    • 1 &lt;= message.length &lt;= 2000

    • message consists of lowercase English letters and ' '.

    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
    • Field Summary

      Fields 
      Modifier and Type Field Description
    • Constructor Summary

      Constructors 
      Constructor Description
      Solution()
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
    • Method Summary

      Modifier and Type Method Description
      final String decodeMessage(String key, String message)
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait