Skip to content

Commit f8d198b

Browse files
authored
Create 1155-number-of-dice-rolls-with-target-sum.js
1 parent af9b439 commit f8d198b

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
/**
2+
* @param {number} d
3+
* @param {number} f
4+
* @param {number} target
5+
* @return {number}
6+
*/
7+
const numRollsToTarget = function(d, f, target) {
8+
const mod = 10 ** 9 + 7
9+
if (target > d * f || target < d) {
10+
return 0
11+
}
12+
const dp = new Array(target + 1).fill(0)
13+
for (let i = 1; i < Math.min(f + 1, target + 1); i++) {
14+
dp[i] = 1
15+
}
16+
for (let i = 2; i < d + 1; i++) {
17+
for (let j = Math.min(target, i * f); j > i - 1; j--) {
18+
dp[j] = 0
19+
for (let k = Math.max(i - 1, j - f); k < j; k++) {
20+
dp[j] = (dp[j] + dp[k]) % mod
21+
}
22+
}
23+
}
24+
25+
return dp[target]
26+
}

0 commit comments

Comments
 (0)