804.唯一摩尔斯密码词
题目
804.唯一摩尔斯密码词
题目大意
国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如:
'a'
对应".-"
,'b'
对应"-..."
,'c'
对应"-.-."
,以此类推。
为了方便,所有 26
个英文字母的摩尔斯密码表如下:
[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]
给你一个字符串数组 words
,每个单词可以写成每个字母对应摩尔斯密码的组合。
- 例如,
"cab"
可以写成"-.-..--..."
,(即"-.-."
+".-"
+"-..."
字符串的结合)。我们将这样一个连接过程称作 单词翻译 。
对 words
中所有单词进行单词翻译,返回不同 单词翻译 的数量。
样例
示例 1:
输入: words = ["gin", "zen", "gig", "msg"]
输出: 2
解释:
各单词翻译如下:
"gin" -> "--...-."
"zen" -> "--...-."
"gig" -> "--...--."
"msg" -> "--...--."共有 2 种不同翻译, "--...-." 和 "--...--.".
示例 2:
输入:words = ["a"]
输出:1
数据规模
提示:
1 <= words.length <= 100
1 <= words[i].length <= 12
words[i]
由小写英文字母组成
思路
题目很简单,就是262626个字母每个字母对应了一个摩斯密码stringstringstring,然后把它们拼凑起来,看有多少种不同的摩斯密码stringstringstring,很显然用哈希表会很方便,如果C++
就可以直接使用unordered_set<string>mp
之类的。不过这类偏字符串形式的题目用python
,那真是太舒服了,直接将莫斯表复制进去,然后用set
来存结果,最后输出len(set)
即可。
代码
class Solution:def uniqueMorseRepresentations(self, words: List[str]) -> int:l=[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]ans=set([])for word in words:s=""for i in range(len(word)):s+=l[ord(word[i])-ord('a')]ans.add(s)return len(ans)
简化之后的代码:
class Solution:def uniqueMorseRepresentations(self, words: List[str]) -> int:l=[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]return len(set("".join(l[ord(x)-ord('a')] for x in word)for word in words))
804.唯一摩尔斯密码词相关推荐
- java 摩尔斯电码_Java实现 LeetCode 804 唯一摩尔斯密码词 (暴力)
804. 唯一摩尔斯密码词 国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: "a" 对应 ".-", " ...
- leetcode面试题 804. 唯一摩尔斯密码词
leetcode面试题 804. 唯一摩尔斯密码词 国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: 'a' 对应 ".-" , 'b ...
- 【算法leetcode每日一练】804. 唯一摩尔斯密码词
文章目录 804. 唯一摩尔斯密码词: 样例 1: 样例 2: 提示: 分析 题解 java c c++ python go rust typescript 原题传送门:https://leetcod ...
- 804. 唯一摩尔斯密码词
804. 唯一摩尔斯密码词 国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: "a" 对应 ".-", " ...
- 804. 唯一摩尔斯密码词(对照转换)
804. 唯一摩尔斯密码词 给你一个字符串数组 words ,每个单词可以写成每个字母对应摩尔斯密码的组合. 例如,"cab" 可以写成 "-.--–-" ,( ...
- 字符串 leetcode 804 唯一摩尔斯密码词
题目 :唯一摩尔斯密码词 内容: 国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: "a" 对应 ".-", &q ...
- LeetCode 804. 唯一摩尔斯密码词(哈希+set)
文章目录 1. 题目 2. 解题 1. 题目 国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: "a" 对应 ".-&quo ...
- Leetcode 804. 唯一摩尔斯密码词
题目描述 国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: "a" 对应 ".-", "b" ...
- 力扣 804. 唯一摩尔斯密码词
题目 国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串, 比如: 'a' 对应 ".-" , 'b' 对应 "--" , ' ...
最新文章
- strcut结构体和char型数组的相互转化
- quercus mysql_14.5 Quercus 原理及展望
- C语言之字符串探究(四):读越界、写越界
- 第五十三天 how can I 坚持
- 【Linux】ubuntu锐捷客户端连接四川大学校园网
- .Net代码检查工具 Gendarme
- Java图片上查找图片算法
- 电商公司ERP管理软件与旺店通、第三方仓库以及云仓的贯通解决方案
- GSM网络结构及主要接口标注(附中英翻译)
- 人机融合的科幻与现实
- selenium常用模块(传送门)
- win10磁盘分区图文教程
- 超级应用/_超级应用
- java中去字符串中的(全角)空格
- 【黑帽大牛】浅谈SEO快排系统对网站排名优化真的有帮助吗?【精品】
- 程序思路分享 计算机毕业设计Python+Spark+Hadoop+Flink微博舆情预警系统 微博舆情可视化 舆情大数据 微博大数据 微博爬虫 大数据毕业设计 大数据毕设
- flutter-isolate详解
- 全国所有城市当天天气数据爬虫
- 数值优化-信赖域方法
- ddos是什么意思?服务器怎么防御ddos?
热门文章
- 小心看上去平平无奇的陷阱:如何防范高级渣?
- 斐波那契的N种实现方式
- SecureCRT和SecureFX用法
- Pandas基础:文件读取与写入、Series和Dataframe、常用基本函数、排序
- 【增加苏宁】2020双十一淘宝领喵币+京东全名营业+支付宝+苏宁の自动化任务
- 车贷需要注意的问题,车贷风控流程这几点你必须知道
- 第二章 局域网技术和组网规范
- 2022年北京国际塑料橡胶及包装工业展览会
- LeetCode刷题100道,让你滚瓜烂熟拿下SQL
- 莫斯科计划在 17 万个监控摄像头中引入人脸识别;广东农行“刷脸取款”实现 1600 多个网点全覆盖...