有哪些比较好的做ppt好的网站,广州新建站,龙中龙网站开发,wordpress评论验证码剑指 Offer 60. n个骰子的点数
动态规划#xff1a;已知n-1个骰子的所有情况#xff0c;再增加一个骰子#xff0c;可推出n个骰子的所有情况。增加的一个骰子的点数只有1-6种可能#xff0c;与n-1个骰子对应点数相乘#xff0c;可得到n个骰子点数的一种情况#xff0c;遍…剑指 Offer 60. n个骰子的点数
动态规划已知n-1个骰子的所有情况再增加一个骰子可推出n个骰子的所有情况。增加的一个骰子的点数只有1-6种可能与n-1个骰子对应点数相乘可得到n个骰子点数的一种情况遍历所有情况即可。
class Solution {public double[] dicesProbability(int n) {double[][] dp new double[n 1][6 * n 1];for(int i 1; i 6; i){dp[1][i] 1.0 / 6;}for(int i 2; i n; i){ // 遍历骰子个数for(int j i; j 6 * i; j){ // 骰子个数确定时遍历所有点数可能的情况for(int k 1; k 6; k){ // 新增的一个骰子点数有1-6种可能的情况if(j - k 0) dp[i][j] dp[i - 1][j - k] / 6.0;}}}double[] res new double[5 * n 1];for(int i 0; i res.length; i) res[i] dp[n][i n];return res;}
}