当前位置:网站首页>leetcode-6108:解密消息
leetcode-6108:解密消息
2022-07-05 05:46:00 【菊头蝙蝠】
题目
题目连接
给你字符串 key
和 message
,分别表示一个加密密钥和一段加密消息。解密 message
的步骤如下:
使用 key
中 26 个英文小写字母第一次出现的顺序作为替换表中的字母 顺序 。
将替换表与普通英文字母表对齐,形成对照表。
按照对照表 替换 message
中的每个字母。
空格 ' '
保持不变。
例如,key = "happy boy"
(实际的加密密钥会包含字母表中每个字母 至少一次),据此,可以得到部分对照表('h' -> 'a'
、'a' -> 'b
’、'p' -> 'c'
、'y' -> 'd'
、'b' -> 'e'
、'o' -> 'f'
)。
返回解密后的消息。
示例 1:
输入:key = "the quick brown fox jumps over the lazy dog", message = "vkbs bs t suepuv"
输出:"this is a secret"
解释:对照表如上图所示。
提取 "the quick brown fox jumps over the lazy dog" 中每个字母的首次出现可以得到替换表。
示例 2:
输入:key = "eljuxhpwnyrdgtqkviszcfmabo", message = "zwx hnfx lqantp mnoeius ycgk vcnjrdb"
输出:"the five boxing wizards jump quickly"
解释:对照表如上图所示。
提取 "eljuxhpwnyrdgtqkviszcfmabo" 中每个字母的首次出现可以得到替换表。
解题
方法一:哈希表
1.通过哈希map,记录每个字母在key中第一次出现的顺序,并赋于相应的字母。
2.空格直接跳过,替换字母
class Solution {
public:
string decodeMessage(string key, string message) {
unordered_map<char,char> map;
char c='a';
for(int i=0;i<key.size();i++){
if(key[i]==' ') continue;
if(!map.count(key[i])){
map[key[i]]=c;
c++;
}
}
for(int i=0;i<message.size();i++){
if(message[i]==' ') continue;
char c=message[i];
message[i]=map[c];
}
return message;
}
};
边栏推荐
- Introduction and experience of wazuh open source host security solution
- Zheng Qing 21 ACM is fun. (3) part of the problem solution and summary
- 2022 pole technology communication arm virtual hardware accelerates the development of Internet of things software
- Bit mask of bit operation
- 【实战技能】如何做好技术培训?
- Fried chicken nuggets and fifa22
- A problem and solution of recording QT memory leakage
- 剑指 Offer 06.从头到尾打印链表
- 2022 极术通讯-Arm 虚拟硬件加速物联网软件开发
- 注解与反射
猜你喜欢
Personal developed penetration testing tool Satania v1.2 update
API related to TCP connection
网络工程师考核的一些常见的问题:WLAN、BGP、交换机
【Jailhouse 文章】Jailhouse Hypervisor
Talking about JVM (frequent interview)
Using HashMap to realize simple cache
Educational Codeforces Round 116 (Rated for Div. 2) E. Arena
[jailhouse article] performance measurements for hypervisors on embedded ARM processors
sync. Interpretation of mutex source code
Typical use cases for knapsacks, queues, and stacks
随机推荐
AtCoder Grand Contest 013 E - Placing Squares
PC register
Sword finger offer 58 - ii Rotate string left
剑指 Offer 35.复杂链表的复制
读者写者模型
Maximum number of "balloons"
网络工程师考核的一些常见的问题:WLAN、BGP、交换机
How to adjust bugs in general projects ----- take you through the whole process by hand
Summary of Haut OJ 2021 freshman week
How many checks does kubedm series-01-preflight have
F - Two Exam(AtCoder Beginner Contest 238)
Palindrome (csp-s-2021-palin) solution
Alu logic operation unit
【实战技能】非技术背景经理的技术管理
After setting up the database and website When you open the app for testing, it shows that the server is being maintained
SSH password free login settings and use scripts to SSH login and execute instructions
Analysis of backdoor vulnerability in remote code execution penetration test / / phpstudy of national game title of national secondary vocational network security B module
CF1637E Best Pair
Educational Codeforces Round 107 (Rated for Div. 2) E. Colorings and Dominoes
7. Processing the input of multidimensional features