Skip to content

Commit ccd6e61

Browse files
committedAug 26, 2023
Create 0837-new-21-game.js
1 parent 48eed3a commit ccd6e61

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed
 

‎javascript/0837-new-21-game.js

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/**
2+
* https://leetcode.com/problems/new-21-game/
3+
* @param {number} n
4+
* @param {number} k
5+
* @param {number} maxPts
6+
* @return {number}
7+
*/
8+
var new21Game = function(n, k, maxPts) {
9+
if (k == 0) {
10+
return 1
11+
}
12+
13+
let windowSum = 0
14+
for (let i = k; i < k + maxPts; i++) {
15+
if (i <= n) {
16+
windowSum += 1
17+
}
18+
}
19+
20+
let dp = {}
21+
for (let i = k - 1; i >= 0; i--) {
22+
dp[i] = windowSum / maxPts
23+
24+
let remove = 0
25+
if (i + maxPts <= n) {
26+
remove = dp[i + maxPts] || 1
27+
}
28+
29+
windowSum += dp[i]
30+
windowSum -= remove
31+
}
32+
33+
return dp[0]
34+
};

0 commit comments

Comments
 (0)