1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-11 02:58:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/解密消息 [decode-the-message].html

51 lines
2.7 KiB
HTML
Raw Normal View History

2022-07-12 21:08:31 +08:00
<p>给你字符串 <code>key</code><code>message</code> ,分别表示一个加密密钥和一段加密消息。解密 <code>message</code> 的步骤如下:</p>
<ol>
<li>使用 <code>key</code> 中 26 个英文小写字母第一次出现的顺序作为替换表中的字母 <strong>顺序</strong></li>
<li>将替换表与普通英文字母表对齐,形成对照表。</li>
<li>按照对照表 <strong>替换</strong> <code>message</code> 中的每个字母。</li>
<li>空格 <code>' '</code> 保持不变。</li>
</ol>
<ul>
<li>例如,<code>key = "<em><strong>hap</strong></em>p<em><strong>y</strong></em> <em><strong>bo</strong></em>y"</code>(实际的加密密钥会包含字母表中每个字母 <strong>至少一次</strong>),据此,可以得到部分对照表(<code>'h' -&gt; 'a'</code><code>'a' -&gt; 'b'</code><code>'p' -&gt; 'c'</code><code>'y' -&gt; 'd'</code><code>'b' -&gt; 'e'</code><code>'o' -&gt; 'f'</code>)。</li>
</ul>
<p>返回解密后的消息。</p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<p><img alt="" src="https://assets.leetcode.com/uploads/2022/05/08/ex1new4.jpg" style="width: 752px; height: 150px;" /></p>
<pre>
<strong>输入:</strong>key = "the quick brown fox jumps over the lazy dog", message = "vkbs bs t suepuv"
<strong>输出:</strong>"this is a secret"
<strong>解释:</strong>对照表如上图所示。
提取 "<em><strong>the</strong></em> <em><strong>quick</strong></em> <em><strong>brown</strong></em> <em><strong>f</strong></em>o<em><strong>x</strong></em> <em><strong>j</strong></em>u<em><strong>mps</strong></em> o<em><strong>v</strong></em>er the <em><strong>lazy</strong></em> <em><strong>d</strong></em>o<em><strong>g</strong></em>" 中每个字母的首次出现可以得到替换表。
</pre>
<p><strong>示例 2</strong></p>
<p><img alt="" src="https://assets.leetcode.com/uploads/2022/05/08/ex2new.jpg" style="width: 754px; height: 150px;" /></p>
<pre>
<strong>输入:</strong>key = "eljuxhpwnyrdgtqkviszcfmabo", message = "zwx hnfx lqantp mnoeius ycgk vcnjrdb"
<strong>输出:</strong>"the five boxing wizards jump quickly"
<strong>解释:</strong>对照表如上图所示。
提取 "<em><strong>eljuxhpwnyrdgtqkviszcfmabo</strong></em>" 中每个字母的首次出现可以得到替换表。
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>26 &lt;= key.length &lt;= 2000</code></li>
<li><code>key</code> 由小写英文字母及 <code>' '</code> 组成</li>
<li><code>key</code> 包含英文字母表中每个字符(<code>'a'</code><code>'z'</code><strong>至少一次</strong></li>
<li><code>1 &lt;= message.length &lt;= 2000</code></li>
<li><code>message</code> 由小写英文字母和 <code>' '</code> 组成</li>
</ul>