leetcode-6108:解密消息

简介: leetcode-6108:解密消息

题目

题目连接

给你字符串 keymessage ,分别表示一个加密密钥和一段加密消息。解密 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;
    }
};
相关文章
|
存储 数据挖掘 BI
秒懂边缘云 | CDN基础入门:CDN运营报表的使用
运营报表是通过对日志采集并提取数据,可以查询加速域名在各个不同时间段的离线分析数据;通过分析数据,便于您了解加速域名的运行状况,帮助您进行业务状态分析。
857 1
|
存储 弹性计算 固态存储
阿里云服务器价格表新鲜出炉来看看吧!
阿里云服务器一年多少钱?阿里云服务器租用费用?阿里云服务器CPU内存怎么收费?阿里云服务器公网带宽收费标准价格表
1700 0
阿里云服务器价格表新鲜出炉来看看吧!
|
分布式计算 Spark 开发者
阿里云RemoteShuffleService新功能:AQE和流控
阿里云EMR自2020年推出Remote Shuffle Service(RSS)以来,帮助了诸多客户解决Spark作业的性能、稳定性问题,并使得存算分离架构得以实施。为了更方便大家使用和扩展,RSS在2022年初开源,欢迎各路开发者共建。本文将介绍RSS最新的两个重要功能:支持Adaptive Query Execution(AQE),以及流控。
阿里云RemoteShuffleService新功能:AQE和流控
|
计算机视觉 Python
不用 PS 抠图,Python + OpenCV 实现自动海报场景替换!
现存在一个问题,就下面图片中的两本书而言,怎样快速让中间边的书本与左边书本对齐(最终效果能实现两张图片重叠(最终结果为右图)),进行的图像转变可旋转、平移、缩放、形变。
不用 PS 抠图,Python + OpenCV 实现自动海报场景替换!
|
机器学习/深度学习 人工智能 安全
阿里云产品-2022 3月刊
一文了解3月份阿里云产品发生了哪些产品大事件。
1048 0
阿里云产品-2022 3月刊
|
缓存 Linux 开发工具
|
移动开发 资源调度 网络协议
三年磨一剑,高德地图体验优化实践总结
高德地图从19年开始对全链路性能体验进行了持续三年的优化,最终整体核心链路上实现了打对折优化,用户体验上大幅提升。过程中,对性能优化的一些思考和实践经验,本文进行了总结,希望对大家有些助益。
1018 0
三年磨一剑,高德地图体验优化实践总结
|
SQL 存储 分布式计算
个推技术实践 | Spark性能调优看这篇,性能提升60%↑ 成本降低50%↓
对企业来讲,效率和成本始终是其进行海量数据处理和计算时所必须关注的问题。如何充分发挥Spark的优势,在进行大数据作业时真正实现降本增效呢?个推将多年积累的Spark性能调优妙招进行了总结,与大家分享。
591 0
个推技术实践 | Spark性能调优看这篇,性能提升60%↑ 成本降低50%↓
|
数据可视化 搜索推荐
【客户案例】联邦家私:用宜搭一周上线售后管理系统,打通信息孤岛,提升协同效率
联邦家私通过钉钉宜搭低代码,走出了一条适合家具行业实际业务场景的数字化解决方案。
923 0
【客户案例】联邦家私:用宜搭一周上线售后管理系统,打通信息孤岛,提升协同效率