Open tsungtingdu opened 4 years ago
var uniqueMorseRepresentations = function(words) {
const MORSE_CODE = [".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]
const translatedWords = words.map(item => item.split('').map(word => MORSE_CODE[word.charCodeAt(0) - 97]).join(''))
return new Set(translatedWords).size
};
上傳時發現竟然自己跟T4方法一樣😆
var uniqueMorseRepresentations = function(words) {
let table = [".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."]
let res = new Set()
words.forEach(x => {
let word = ""
for (let i = 0; i < x.length; i++) {
word += table[x[i].charCodeAt() - 96 - 1]
}
res.add(word)
})
return res.size
}
/**
* @param {string[]} words
* @return {number}
*/
var uniqueMorseRepresentations = function(words) {
const morseAlphabet = {
a: '.-',
b: '-...',
c: '-.-.',
d: '-..',
e: '.',
f: '..-.',
g: '--.',
h: '....',
i: '..',
j: '.---',
k: '-.-',
l: '.-..',
m: '--',
n: '-.',
o: '---',
p: '.--.',
q: '--.-',
r: '.-.',
s: '...',
t: '-',
u: '..-',
v: '...-',
w: '.--',
x: '-..-',
y: '-.--',
z: '--..'
}
return new Set(words.map(word => word.split('').map(letter => morseAlphabet[letter]).join(''))).size
};