LeetCode—剑指Offer:n个骰子的点数(动态规划)

n个骰子的点数(简单)

2020年9月13日

题目来源:力扣

在这里插入图片描述

解题
参考自题解

class Solution {
    
    
    public double[] twoSum(int n) {
    
    
        //初始化原数组,用来存放上个骰子概率数组
        double[] pre={
    
    1/6d,1/6d,1/6d,1/6d,1/6d,1/6d};
        for(int i=2;i<=n;i++){
    
    
            //存放当前骰子概率数组,5*i+1由骰子点数[n,6n],确定6n-n+1=5n+1
            double[] tmp=new double[5*i+1];
            for(int j=0;j<pre.length;j++){
    
    
                for(int x=0;x<6;x++){
    
    
                    //每个概率都与1/6的概率相乘后相加
                    tmp[j+x]+=pre[j]/6;
                }
            }
            pre=tmp;
        }
        return pre;
    }
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41541562/article/details/108559294
今日推荐