简单题,实践一下bits数组的做法,效率很高

file

func uniqueMorseRepresentations(words []string) int {
    cache := make(map[uint64]bool)

    mapping := []string{".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."}

    for _, word := range words{
        var n uint64 = 0
        i := 0
        for _, char := range word{
            ms := mapping[char - 'a']
            for _, val := range ms{
                if val == '-'{
                    n |= (1<<i)
                }
                i++
            }
        }
        cache[n] = true
    }

    result := 0

    for _,_ = range cache{
        result++
    }

    return result
}
最后修改日期: 2022年4月10日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。