Skip to content

Commit fd08a52

Browse files
committed
Create 面试题46. 把数字翻译成字符串.js
1 parent 5fd47b6 commit fd08a52

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
/**
2+
* @param {number} num
3+
* @return {number}
4+
*/
5+
var translateNum = function(num) {
6+
const dp = [];
7+
let prev = null;
8+
let i = 0;
9+
while (num >= 0) {
10+
const n = num % 10;
11+
if (prev === null) {
12+
prev = n;
13+
dp[i] = 1;
14+
i++;
15+
} else {
16+
dp[i] = dp[i - 1];
17+
if (n !== 0 && n * 10 + prev < 26) {
18+
dp[i] += (dp[i - 2] || 1);
19+
}
20+
prev = n;
21+
i++;
22+
}
23+
num = Math.floor(num / 10);
24+
if (num === 0) {
25+
break;
26+
}
27+
}
28+
// console.log(dp);
29+
return dp[i - 1]
30+
};
31+
32+
console.log(translateNum(100));

0 commit comments

Comments
 (0)