力扣 面試題60 n個骰子的點數

2021-10-06 18:08:10 字數 937 閱讀 9436

面試題60. n個骰子的點數

把n個骰子扔在地上,所有骰子朝上一面的點數之和為s。輸入n,列印出s的所有可能的值出現的概率。

你需要用乙個浮點數陣列返回答案,其中第 i 個元素代表這 n 個骰子所能擲出的點數集合中第 i 小的那個的概率。

示例 1:

輸入: 1

輸出: [0.16667,0.16667,0.16667,0.16667,0.16667,0.16667]

示例 2:

輸入: 2

輸出: [0.02778,0.05556,0.08333,0.11111,0.13889,0.16667,0.13889,0.11111,0.08333,0.05556,0.02778]

限制:1 <= n <= 11

看了一些題解之後寫出來的,我在初始化dp陣列的時候,用的是n+1,和可能出現的總數+1,因為下標是從0開始但是骰子個數和可能出現的總數都不是從0開始,這樣在之後的運算中不需要加一減一的轉換,比較不容易弄混。

class

solution

int temp = amount +

1- n;

double

result =

newdouble

[temp]

;// 宣告乙個題目中要求的double陣列,返回概率。

double max = math.

pow(

6, n)

;for

(int i =

0; i < temp; i++

)return result;

}public

intgetp

(int n,

int m)

if(dp[n]

[m]==0)

}return dp[n]

[m];

}}

力扣面試題60 n個骰子的點數

把n個骰子扔在地上,所有骰子朝上一面的點數之和為s。輸入n,列印出s的所有可能的值出現的概率。你需要用乙個浮點數陣列返回答案,其中第 i 個元素代表這 n 個骰子所能擲出的點數集合中第 i 小的那個的概率。示例 1 輸入 1 輸出 0.16667,0.16667,0.16667,0.16667,0....

劍指 面試題60 n個骰子的點數

題目 把n個骰子扔在地上,所有骰子朝上一面的點數之和為s。輸入n,列印出s的所有可能的值出現的概率。你需要用乙個浮點數陣列返回答案,其中第 i 個元素代表這 n 個骰子所能擲出的點數集合中第 i 小的那個的概率。思路 動態規劃 參考leetcode題解 c class solution int su...

面試題60 n個骰子的點數 Python題解

把n個骰子扔在地上,所有骰子朝上一面的點數之和為s。輸入n,列印出s的所有可能的值出現的概率。你需要用乙個浮點數陣列返回答案,其中第 i 個元素代表這 n 個骰子所能擲出的點數集合中第 i 小的那個的概率。示例 1 輸入 1 輸出 0.16667,0.16667,0.16667,0.16667,0....