珂珂喜欢吃香蕉。这里有 n 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警卫已经离开了,将在 h 小时后回来。

珂珂可以决定她吃香蕉的速度 k (单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 k 根。如果这堆香蕉少于 k 根,她将吃掉这堆的所有香蕉,然后这一小时内不会再吃更多的香蕉。

珂珂喜欢慢慢吃,但仍然想在警卫回来前吃掉所有的香蕉。

返回她可以在 h 小时内吃掉所有香蕉的最小速度 k(k 为整数)。

解题细节:

if fact_h > h:
        left = mid + 1
    elif fact_h < h:
        right = mid - 1
    elif fact_h == h:
        right = mid - 1

fact_h > h说明速度太快,当前的mid偏小,需要在[mid+1,right]里面寻找目标,所以left = right + 1

piles = [3,6,7,11]
h = 8left = 1
right = max(piles)while left <= right:mid = left+(right-left)//2fact_h = 0now_pile = 0for pile in piles:now_pile = pilewhile now_pile > 0:now_pile = now_pile - midfact_h += 1        if fact_h > h:left = mid + 1elif fact_h < h:right = mid - 1elif fact_h == h:right = mid - 1
print(left)

or

解题思路:

连续相减同一个数的过程可以转换成除法。

class Solution(object):def minEatingSpeed(self, piles, h):""":type piles: List[int]:type h: int:rtype: int"""left = 1right = max(piles)while left < right:mid = (left+right)//2need = 0for pile in piles:need = need + math.ceil(pile/mid)if need < h:'''如果实际时间超出规定时间,说明胃口小了'''right = midelse:left = mid+1return left

Leedcode 875. 爱吃香蕉的珂珂相关推荐

  1. Python描述 LeetCode 875. 爱吃香蕉的珂珂

    Python描述 LeetCode 875. 爱吃香蕉的珂珂   大家好,我是亓官劼(qí guān jié ),在[亓官劼]公众号.CSDN.GitHub.B站等平台分享一些技术博文,主要包括前端开 ...

  2. Leetcode 875.爱吃香蕉的珂珂(Koko Eating Bananas)

    Leetcode 875.爱吃香蕉的珂珂 1 题目描述(Leetcode题目链接)   珂珂喜欢吃香蕉.这里有 N 堆香蕉,第 i 堆中有 piles[i] 根香蕉.警卫已经离开了,将在 H 小时后回 ...

  3. leetcode 875.爱吃香蕉的珂珂(koko eating bananas)C语言

    leetcode 875.爱吃香蕉的珂珂(koko eating bananas)C语言 1.description 2.solution 1.description https://leetcode ...

  4. 妮妮喜欢吃桃子 java_Leetcode之二分法专题-875. 爱吃香蕉的珂珂(Koko Eating Bananas)...

    Leetcode之二分法专题-875. 爱吃香蕉的珂珂(Koko Eating Bananas) 珂珂喜欢吃香蕉.这里有 N 堆香蕉,第 i 堆中有 piles[i] 根香蕉.警卫已经离开了,将在 H ...

  5. leetcode 875. 爱吃香蕉的珂珂

    875. 爱吃香蕉的珂珂 class Solution {public:int minEatingSpeed(vector<int>& piles, int H) {long le ...

  6. leetcode系列--875.爱吃香蕉的珂珂

    leetcode系列–第875题.爱吃香蕉的珂珂 珂珂喜欢吃香蕉.这里有 N 堆香蕉,第 i 堆中有 piles[i] 根香蕉.警卫已经离开了,将在 H 小时后回来. 珂珂可以决定她吃香蕉的速度 K ...

  7. 875. 爱吃香蕉的珂珂(二分)

    珂珂喜欢吃香蕉.这里有 N 堆香蕉,第 i 堆中有 piles[i] 根香蕉.警卫已经离开了,将在 H 小时后回来. 珂珂可以决定她吃香蕉的速度 K (单位:根/小时).每个小时,她将会选择一堆香蕉, ...

  8. LeetCode 875. 爱吃香蕉的珂珂(二分查找)

    1. 题目 珂珂喜欢吃香蕉.这里有 N 堆香蕉,第 i 堆中有 piles[i] 根香蕉.警卫已经离开了,将在 H 小时后回来. 珂珂可以决定她吃香蕉的速度 K (单位:根/小时).每个小时,她将会选 ...

  9. LeetCode 875.爱吃香蕉的珂珂

    1. 题目 原题链接 https://leetcode-cn.com/problems/koko-eating-bananas/ 题目描述 珂珂喜欢吃香蕉.这里有 N 堆香蕉,第 i 堆中有 pile ...

最新文章

  1. java随机点名器的思路_Java实现简单的随机点名器
  2. odb2.3 centos上编译、测试
  3. 关于解决mybase7继续使用的方法
  4. php 空函数,PHP 中函数 isset(), empty(), is_null() 的区别
  5. java类加载器_java底层内功 第一章,类加载器的任性
  6. 【Python学习】 - PIL - 各种图像操作
  7. android socket 闪退,android客户端闪退
  8. ‘packaging‘ with value ‘jar‘ is invalid. Aggregator projects require ‘pom‘ as packaging.
  9. 数据结构与算法题整理
  10. ajax提交手机号到php,ajax怎样申请手机号到数据库验证并且返回数据的状态值
  11. Word调查问卷表格统计
  12. 读书笔记:《特劳特营销十要》
  13. 思科网络安全 第七章考试答案
  14. 联阳IT6561|IT6561FN方案电路|替代IT6561方案设计DP转HDMI音视频转换器资料
  15. c语言程序设计吴国良,刘细良
  16. Jenkins 如何构建一个项目
  17. python获取win10系统声音
  18. 晶体塑性有限元 Abaqus 三维泰森多边形(voronoi模型)插件 V6.0
  19. L1-059 敲笨钟 C直观解法
  20. Plc与单片机的区别,哪个待遇更好?

热门文章

  1. 查询Microsoft Visual C++ Debug Library窗体并自动点击忽略按钮的小工具代码
  2. c++模板函数的声明和定义该在什么文件里?
  3. Ventoy多镜像+防毒全能U盘工具箱
  4. java多线程贪吃蛇实验报告_JAVA开放性实验报告贪吃蛇
  5. 把代码和环境做成docker镜像_Jenkins把GitHub项目做成Docker镜像
  6. java微信公众号开发一:服务器信息配置
  7. JDBC与ODBC的区别与应用
  8. ubuntu文件夹右键没有共享选项
  9. MySQL安全分析:缓解MySQL零日漏洞
  10. 使用 In-Trangle Test 检测极点