class Solution:
def shipWithinDays(self, weights: 'List[int]', D: int) -> int:
left = max(weights)#不能小于最重的单个货物
right = sum(weights)#不用大于全部货物的总重量
while left < right:#以此为左和右边界,向中间查询
cur = 0 #当前批次装载重量
need = 1 #所需时间
mid = (left + right) // 2
for w in weights:
if cur + w > mid:#超过中间位置的重量
need += 1#所需天数+1
cur = 0#当前批次结束
cur += w
if need > D:#按当前mid位置作为运载量,时间超过预期要求D,则需要提高运载量,left增大
left = mid + 1
else: #当前mid位置作为运载量,可以在规定时间D内完成全部货物的运输,则尝试减小运载量,right减小
right = mid
#循环退出时left==right,是最佳运载量
return left

leetcode1011的更多相关文章

  1. [Swift]LeetCode1011. 在 D 天内送达包裹的能力 | Capacity To Ship Packages Within D Days

    A conveyor belt has packages that must be shipped from one port to another within D days. The i-th p ...

随机推荐

  1. AIX查询当前目录下各文件及目录大小

    AIX下要查询某个目录下各个文件或目录的占用空间大小 可以对du命令增加一个别名alias 放在~/.profile里 alias dus='du -sg ./* |sort' s表示文件和目录都是显 ...

  2. Spark 在Hadoop HA下配置HistoryServer问题

    我的Spark机群是部署在Yarn上的,因为之前Yarn的部署只是简单的完全分布式,但是后来升级到HA模式,一个主NN,一个备NN,那么Spark HistoryServer的配置也需要相应的做修改, ...

  3. bzoj4939: [Ynoi2016]掉进兔子洞

    将权值排序,设权值x排序后在[l,r]出现,x在区间中出现k次,则用[l,l+k-1]为1,[l+k,r]为0来表示x的出现次数 用bitset表示可重集中每个元素的出现次数,用莫队处理出询问区间对应 ...

  4. C#、AE开发入门之打开CAD文件并显示

    加载CAD文件稍显复杂一些,总体还是和前面基本类似 private void button3_Click(object sender, EventArgs e) { axMapControl1.Cle ...

  5. react基础

    上一篇文章主要是记录了自己是如何创建react项目的,今天则主要是总结一下react中的一个基础入门知识,包括数据定义和绑定.属性绑定.数组循环等等. 组件继承和挂载 当我们使用脚手架或者命令行创建一 ...

  6. Selector空轮询处理(转载)

    https://www.cnblogs.com/my_life/articles/5556939.html Selector空轮询处理 在NIO中通过Selector的轮询当前是否有IO事件,根据JD ...

  7. Abp IRepository 方法解释(1)

    //    // 摘要:    //     This interface is implemented by all repositories to ensure implementation of ...

  8. MySQL 删除重复数据实例

    如何删除重复数据 业务场景:删除评论表中对同一订单同一商品的重复评论,只保留最早的一条. 查看是否存在对于同一订单同一商品的重复评论. SELECT order_id,product_id,COUNT ...

  9. CGo中传递多维数组给C函数

    转自:http://www.cnblogs.com/cobbliu/p/5035358.html package main /* #include <stdio.h> #include & ...

  10. U3D学习07-插值运算(位移与旋转)

    1.Lerp 线性插值计算.匀速移动 2.LerpAngle 线性插值计算.匀速旋转 3.MoveTowards  4.MoveTowardsAngel  5.SmoothStep非匀速移动  6.S ...