本文主要是介绍算法|每日一题|掷骰子等于目标和的方法数|动态规划,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1155.掷骰子等于目标和的方法数
原题地址: 力扣每日一题:掷骰子等于目标和的方法数
这里有 n 个一样的骰子,每个骰子上都有 k 个面,分别标号为 1 到 k 。
给定三个整数 n , k 和 target ,返回可能的方式(从总共 kn 种方式中)滚动骰子的数量,使正面朝上的数字之和等于 target 。
答案可能很大,你需要对 109 + 7 取模 。
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];}
}
如果对您有帮助,请点赞关注支持我,谢谢!❤
如有错误或者不足之处,敬请指正!❤
这篇关于算法|每日一题|掷骰子等于目标和的方法数|动态规划的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!