1155.掷骰子等于目标和的方法数
原题地址: 力扣每日一题:掷骰子等于目标和的方法数
这里有 n 个一样的骰子,每个骰子上都有 k 个面,分别标号为 1 到 k 。
给定三个整数 n , k 和 target ,返回可能的方式(从总共 kn 种方式中)滚动骰子的数量,使正面朝上的数字之和等于 target 。
答案可能很大,你需要对 109 + 7 取模 。
java
class Solution {
static final int MOD = 1000000007;
public int numRollsToTarget(int n, int k, int target) {
int[] f = new int[target + 1];
f[0] = 1;
for (int i = 1; i <= n; i++) {
for (int j = target; j >= 0; j--) {
f[j] = 0;
for (int x = 1; x <= k; x++) {
if (j - x >= 0) {
f[j] = (f[j] + f[j - x]) % MOD;
}
}
}
}
return f[target];
}
}
如果对您有帮助,请点赞关注支持我,谢谢!❤
如有错误或者不足之处,敬请指正!❤