我們將給定的陣列 a 分成 k 個相鄰的非空子陣列 ,我們的分數由每個子陣列內的平均值的總和構成。計算我們所能得到的最大分數是多少。
注意我們必須使用 a 陣列中的每乙個數進行分組,並且分數不一定需要是整數。
示例:
輸入:
a =[9,
1,2,
3,9]
k =3
輸出:20
解釋:
a 的最優分組是[9]
,[1,
2,3]
,[9]
. 得到的分數是 9+(
1+2+
3)/3
+9=20.
我們也可以把 a 分成[9,
1],[
2],[
3,9]
.這樣的分組得到的分數為 5+2
+6=13
, 但不是最大值.
說明:
動態規劃。計算前i個元素劃分為k個子陣列的最大和時,只需要計算前j個元素(j<=i-1)劃分為k-1個子陣列的最大和,然後求得j+1~i範圍內元素的均值相加即可。dp[i][k]可表示前i個元素劃分為k個子陣列時的最大平均值和。
class
solution}}
return dp.
back()
.back()
;}};
LeetCode813 最大平均值和的分組
我們將給定的陣列 a 分成 k 個相鄰的非空子陣列 我們的分數由每個子陣列內的平均值的總和構成。計算我們所能得到的最大分數是多少。注意我們必須使用 a 陣列中的每乙個數進行分組,並且分數不一定需要是整數。示例 輸入 a 9,1,2,3,9 k 3 輸出 20 解釋 a 的最優分組是 9 1,2,3 ...
最大平均(和)子串行
描述 給定n個數的陣列,找到所有長度大於等於k的連續子陣列中平均值最大的那個。返回那個最大的平均值。1 k n 10000,陣列中的元素在範圍 10000,10000 之間,最後返回的答案的誤差應在10 5 以內。樣例 輸入 1,12,5,6,50,3 k 4 輸出 12.75 說明 長度為4的子陣...
LeetCode 1792 最大平均通過率(堆)
題意 一所學校裡有一些班級,每個班級裡有一些學生,現在每個班都會進行一場期末考試。給你乙個二維陣列 classes 其中 classes i passi,totali 表示你提前知道了第 i 個班級總共有 totali 個學生,其中只有 passi 個學生可以通過考試。給你乙個整數 extrastu...