本题要求把数组 nums 切成恰好 k 个连续段,使得最大的段和尽量小,最终输出这个最小的最大段和。
这类「最大值最小化」问题(经典 LeetCode 410 分割数组的最大值)的标准做法是二分答案:
末世时代,政府为各地分配资源,现有资源分配表 nums[n],要求按如下规则分配给 k 个营地:
nums[n](资源数 n: 0≤n≤1000,每份资源数:1≤nums[i]≤100000)输入
[4,3,6,9,7],2
输出
16
说明
可能的切分:
[4],[3,6,8,9,7],最大值:25[4,3],[6,9,7],最大值:22[4,3,6],[9,7],最大值:16[4,3,6,9],[7],最大值:22因此,最大值最小的切分方式是第 3 种,返回 16
输入
[3,4,2,1],4
输出
4
说明
可能的切分:
[3],[4],[2],[1],最大值:4因此,最大值最小的切分方式是第 1 种,返回 4
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.