LeetCode 410. 分割数组的最大值(极小极大化 二分查找 / DP)
文章目錄
- 1. 題目
- 2. 解題
- 2.1 二分查找
- 2.2 DP
1. 題目
給定一個(gè)非負(fù)整數(shù)數(shù)組和一個(gè)整數(shù) m,你需要將這個(gè)數(shù)組分成 m 個(gè)非空的連續(xù)子數(shù)組。
設(shè)計(jì)一個(gè)算法使得這 m 個(gè)子數(shù)組各自和的最大值最小。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/split-array-largest-sum
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
2. 解題
2.1 二分查找
類似題目:
LeetCode 875. 愛吃香蕉的珂珂(二分查找)
LeetCode LCP 12. 小張刷題計(jì)劃(二分查找)
LeetCode 1011. 在 D 天內(nèi)送達(dá)包裹的能力(二分查找)
LeetCode 1062. 最長重復(fù)子串(二分查找)
LeetCode 5438. 制作 m 束花所需的最少天數(shù)(二分查找)
LeetCode 1102. 得分最高的路徑(優(yōu)先隊(duì)列BFS/極大極小化 二分查找)
LeetCode 1231. 分享巧克力(極小極大化 二分查找)
0 ms 7 MB
2.2 DP
- dp[i][j] 表示前 i 個(gè)數(shù),分成 j 組的最小的最大和的值
- 先預(yù)處理求出前綴和 sum
- dp[i][j]=min(dp[i][j],max(dp[k][j?1],sum[i]?sum[k])),k∈[0,i]dp[i][j] = min(dp[i][j], max(dp[k][j-1], sum[i]-sum[k])), k \in[0,i]dp[i][j]=min(dp[i][j],max(dp[k][j?1],sum[i]?sum[k])),k∈[0,i]
412 ms 8.2 MB
我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關(guān)注我的公眾號(hào)(Michael阿明),一起加油、一起學(xué)習(xí)進(jìn)步!
總結(jié)
以上是生活随笔為你收集整理的LeetCode 410. 分割数组的最大值(极小极大化 二分查找 / DP)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [Kaggle] Housing Pri
- 下一篇: 02.改善深层神经网络:超参数调试、正则