• javaScript 804. 唯一摩尔斯密码词


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

    ‘a’ 对应 “.-” ,
    ‘b’ 对应 “-…” ,
    ‘c’ 对应 “-.-.” ,以此类推。
    为了方便,所有 26 个英文字母的摩尔斯密码表如下:

    [".-","-…","-.-.","-…",".","…-.","–.","…","…",".—","-.-",".-…","–","-.","—",".–.","–.-",".-.","…","-","…-","…-",".–","-…-","-.–","–…"]
    给你一个字符串数组 words ,每个单词可以写成每个字母对应摩尔斯密码的组合。

    例如,“cab” 可以写成 “-.-…–…” ,(即 “-.-.” + “.-” + “-…” 字符串的结合)。我们将这样一个连接过程称作 单词翻译 。
    对 words 中所有单词进行单词翻译,返回不同 单词翻译 的数量。

    示例 1:

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

    共有 2 种不同翻译, “–…-.” 和 “–…--.”.

    来源:力扣(LeetCode)

    /**
     * @param {string[]} words
     * @return {number}
     */
    var uniqueMorseRepresentations = function(words) {
        var fms = [".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."];
        var arr = [];
        var res = new Set()
        words.map(item=>{
        let str = ""
        for(let char of item){
            str+=fms[char.charCodeAt()-97]
        }
       if(!res.has(str)){
                res.add(str)
            }
        })   
        return res.size
    };
    
  • 相关阅读:
    Aerospike系列:4:简单的增删改查aql
    Aerospike系列:3:aerospike特点分析
    MySQL事物系列:2:事物的实现
    MySQL事物系列:1:事物简介
    MySQL 源码系列:1:窥探篇
    MySQL 内存和CPU优化相关的参数
    Aerospike系列:2:商业版和社区版的比较
    Aerospike系列:1:安装
    MDX Cookbook 08
    MDX Cookbook 07
  • 原文地址:https://www.cnblogs.com/cupid10/p/15958126.html
Copyright © 2020-2023  润新知