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;
}
}