我最近从采访中回来,他们基本上问:给出一个有效单词列表和数字到字母的映射 - 类似于1 - > ABC,2-> DEF - 如何编写一个返回有效字符串列表的函数。我努力奋斗,正在寻找指导。
function validWords(digits, listOfValidWords) {
}
// for example
var dictionary = [//some list of words];
var words = validWords("1456", dictionary)
答案 0 :(得分:4)
您可以使用组合算法。
var dictionary = { 2: 'abc', 3: 'def', 4: 'ghi', 5: 'jkl', 6: 'mno', 7: 'pqrs', 8: 'tuv', 9: 'wxyz' },
number = '345',
result = [...number]
.map(n => [...dictionary[n]])
.reduce((a, b) => a.reduce((r, v) => r.concat(b.map(w => v + w)), []));
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }