最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

1024

运维笔记admin42浏览0评论

1024

1024

来个力扣每日一题吧~~~

是之前正常骰子(六个面)的变形,其实思路差不多,都DP:


```java
class Solution {public int numRollsToTarget(int n, int k, int target) {//dp[i][j]的含义:有 i + 1 个骰子(编号从0开始),和等于 j 值的总数目。int[][] dp = new int[n][target + 1];int MOD = 1_000_000_000 + 7;//初始化:第一个骰子for (int i = 1; i <= k && i <= target; i++) {dp[0][i] = 1;}//遍历每一个骰子for (int i = 1; i < n; i++) {//上几个骰子的值遍历for (int j = i; j <= target - 1; j++) {//在上几个骰子的值的基础上,投k个数for (int m = 1; m <= k; m++) {if (j + m > target) {continue;}dp[i][j + m] += dp[i - 1][j];dp[i][j + m] %= MOD;}}}return dp[n - 1][target];}
}

发布评论

评论列表(0)

  1. 暂无评论