public double[] dicesProbability(int n) { // 初始化一个筛子 double[] dp = new double[6]; // 初始化数组全是六分之一 Arrays.fill(dp, 1.0 / 6.0); for (int i = 2; i <= n; i++) { // 创建临时结果集 double[] tmp = new double[5 * i + 1]; for (int j = 0; j < dp.length; j++) { for (int k = 0; k < 6; k++) { // 递推公式 tmp[j + k] += dp[j] / 6.0; } } // 保存结果 dp = tmp; } return dp; }
剑指Offer66-n个骰子的点数
最新推荐文章于 2023-02-25 15:18:27 发布