• 摩尔斯密码


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

    '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] 由小写英文字母组成

    来源:力扣(LeetCode
    链接:https://leetcode.cn/problems/unique-morse-code-words
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    1. /**
    2. * @param {string[]} words
    3. * @return {number}
    4. */
    5. var uniqueMorseRepresentations = function(words) {
    6. let map = {
    7. "a":".-",
    8. "b":"-...",
    9. "c":"-.-.",
    10. "d":'-..',
    11. "e":".",
    12. "f":"..-.",
    13. "g":"--.",
    14. "h":"....",
    15. "i":"..",
    16. "j":".---",
    17. "k":"-.-",
    18. "l":".-..",
    19. "m":"--",
    20. 'n':"-.",
    21. "o":"---",
    22. "p":".--.",
    23. "q":"--.-",
    24. "r":".-.",
    25. "s":"...",
    26. "t":"-",
    27. "u":"..-",
    28. "v":"...-",
    29. "w":".--",
    30. "x":"-..-",
    31. "y":"-.--",
    32. "z":"--.."
    33. };
    34. Object.keys(map).forEach((item) => {
    35. for(let i = 0;i < words.length;i ++){
    36. words[i] = words[i].replaceAll(item,map[item]);
    37. }
    38. })
    39. let set = new Set([...words])
    40. console.log(set)
    41. return [...set].length
    42. };

  • 相关阅读:
    国庆作业day5
    Vue.js 中的路由(Route)跳转
    【Java】Servlet API
    Python实现机器学习(下)— 数据预处理、模型训练和模型评估
    Python 教程之控制流(1)python中的循环
    Python中的自然语言处理和文本挖掘
    重学c#系列——订阅发布与事件[二十六]
    SpringBoot DeferredResult 长轮询实现实现方式?
    Java特性和优势、Java三大版本、JDK/JRE/JVM
    c++中指针概念及指针变量的大小
  • 原文地址:https://blog.csdn.net/lzsan_/article/details/126845120