简单题,实践一下bits数组的做法,效率很高
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
}
留言