码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode摩尔斯密码

时间:2019-07-26 21:25:35      阅读:96      评论:0      收藏:0      [点我收藏+]

标签:app   字符   字符串   --   一个   rds   ret   过程   获得   

国际摩尔斯密码定义一种标准编码方式,将每个字母对应于一个由一系列点和短线组成的字符串,?比如: "a" 对应 ".-", "b" 对应 "-...", "c" 对应 "-.-.", 等等。

为了方便,所有26个英文字母对应摩尔斯密码表如下:

[".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]
给定一个单词列表,每个单词可以写成每个字母对应摩尔斯密码的组合。例如,"cab" 可以写成 "-.-..--...",(即 "-.-." + "-..." + ".-"字符串的结合)。我们将这样一个连接过程称作单词翻译。

返回我们可以获得所有词不同单词翻译的数量。

例如:
输入: words = ["gin", "zen", "gig", "msg"]
输出: 2
解释:
各单词翻译如下:
"gin" -> "--...-."
"zen" -> "--...-."
"gig" -> "--...--."
"msg" -> "--...--."

共有 2 种不同翻译, "--...-." 和 "--...--.".
解答:
class Solution:
def uniqueMorseRepresentations(self, words: List[str]) -> int:
m = [".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]
abc = [chr(i) for i in range(97,123)]
z = dict(zip(abc, m))
res=[]
# print(z[‘a‘])
for i in range(len(words)):
temp = words[i]
x = ""
for j in range(len(temp)):
x += z[str(temp[j])]
if x not in res:
res.append(x)
return(len(res))

leetcode摩尔斯密码

标签:app   字符   字符串   --   一个   rds   ret   过程   获得   

原文地址:https://www.cnblogs.com/qwksjy/p/11252739.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!