Skip to content

Commit a48579e

Browse files
authored
Update 264-ugly-number-ii.js
1 parent fd3a613 commit a48579e

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

264-ugly-number-ii.js

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,19 @@
22
* @param {number} n
33
* @return {number}
44
*/
5-
const nthUglyNumber = function(n) {
6-
const dp = [1]
7-
let [a, b, c] = [0, 0, 0]
5+
const nthUglyNumber = function (n) {
6+
if (n <= 0) return false
7+
if (n === 1) return true
8+
let t2 = 0,
9+
t3 = 0,
10+
t5 = 0
11+
const k = Array(n).fill(1)
12+
k[0] = 1
813
for (let i = 1; i < n; i++) {
9-
let [ua, ub, uc] = [dp[a] * 2, dp[b] * 3, dp[c] * 5]
10-
dp[i] = Math.min(ua, ub, uc)
11-
if (dp[i] === ua) a++
12-
if (dp[i] === ub) b++
13-
if (dp[i] === uc) c++
14+
k[i] = Math.min(k[t2] * 2, k[t3] * 3, k[t5] * 5)
15+
if (k[i] == k[t2] * 2) t2++
16+
if (k[i] == k[t3] * 3) t3++
17+
if (k[i] == k[t5] * 5) t5++
1418
}
15-
return dp[n - 1]
19+
return k[n - 1]
1620
}

0 commit comments

Comments
 (0)