1014. Capacity To Ship Packages Within D Days 一道题的思路
leetcode吧
全部回复
仅看楼主
level 6
milk_bread 楼主
A conveyor belt has packages that must be shipped from one port to another within D days.
The i-th package on the conveyor belt has a weight of weights[i]. Each day, we load the ship with packages on the conveyor belt (in the order given by weights). We may not load more weight than the maximum weight capacity of the ship.
Return the least weight capacity of the ship that will result in all the packages on the conveyor belt being shipped within D days.
给一个数组 代表 需要运输的货物分别多重,运输的时候 也要按这个先后顺序运。
求如果D天里面运完。 安排的船能满足这次运输任务 一天的运力至少是多少?
Input: weights = [1,2,3,4,5,6,7,8,9,10], D = 5
Output: 15
Explanation: A ship capacity of 15 is the minimum to ship all the packages in 5 days like this:
1st day: 1, 2, 3, 4, 5
2nd day: 6, 7
3rd day: 8
4th day: 9
5th day: 10
Note that the cargo must be shipped in the order given, so using a ship of capacity 14 and splitting the packages into parts like (2, 3, 4, 5), (1, 6, 7), (8), (9), (10) is not allowed.
例子说明是不能不暗数组顺序来。像(1,10)(2,9)(3,8)(4,7)(5,6) 是不对的 虽然可以得到更小的结果 只要一天能运11就行了。
求算法思路。我也继续思考,想出来回来写答案滴。
2019年03月21日 04点03分 1
level 1
二分法,最小是left=max(weights),最大是right=sum(weights),mid为船的运力,用这个运力计算运输天数,比预期天数多left=mid+1,比预期天数少right=mid,最后返回left
2019年03月21日 05点03分 2
谢谢 我只想到一个开头 left是Math.Max(sum(weights)/D,max(weights))
2019年03月21日 09点03分
level 1
这是按顺序刷的吗?1000道题?
2019年04月01日 08点04分 4
没有按照顺序了。 就是每周新出的四道,就下周看看。 因为最近还要准备一个英语考试。所以过去的题也不去翻了。
2019年04月02日 06点04分
level 1
再水一道题
2019年04月01日 08点04分 6
level 1
我实在是太水啦, 大佬带带我!
2019年04月10日 03点04分 13
千里之行始于足下 不过我也才走了一小段。 从easy的开始刷呗 再找本能看得进去的书。 要不然就是边刷边baidu。刷出来的看看人家有没有更好的解法。也能积累不少了
2019年04月11日 01点04分
1