1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| class Solution { public double[] dicesProbability(int n) { double[][] dp = new double[n + 1][6 * n + 1]; dp[1][1] = dp[1][2] = dp[1][3] = dp[1][4] = dp[1][5] = dp[1][6] = 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++) { if (j - k > 0) { dp[i][j] += dp[i - 1][j - k] * 1 / 6; } } } }
double[] res = new double[6 * n - n + 1]; for (int i = n; i <= 6 * n; i++) { res[i - n] = dp[n][i]; } return res; } }
|