Leedcode 875. 爱吃香蕉的珂珂
珂珂喜欢吃香蕉。这里有 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. 爱吃香蕉的珂珂相关推荐
- Python描述 LeetCode 875. 爱吃香蕉的珂珂
Python描述 LeetCode 875. 爱吃香蕉的珂珂 大家好,我是亓官劼(qí guān jié ),在[亓官劼]公众号.CSDN.GitHub.B站等平台分享一些技术博文,主要包括前端开 ...
- Leetcode 875.爱吃香蕉的珂珂(Koko Eating Bananas)
Leetcode 875.爱吃香蕉的珂珂 1 题目描述(Leetcode题目链接) 珂珂喜欢吃香蕉.这里有 N 堆香蕉,第 i 堆中有 piles[i] 根香蕉.警卫已经离开了,将在 H 小时后回 ...
- leetcode 875.爱吃香蕉的珂珂(koko eating bananas)C语言
leetcode 875.爱吃香蕉的珂珂(koko eating bananas)C语言 1.description 2.solution 1.description https://leetcode ...
- 妮妮喜欢吃桃子 java_Leetcode之二分法专题-875. 爱吃香蕉的珂珂(Koko Eating Bananas)...
Leetcode之二分法专题-875. 爱吃香蕉的珂珂(Koko Eating Bananas) 珂珂喜欢吃香蕉.这里有 N 堆香蕉,第 i 堆中有 piles[i] 根香蕉.警卫已经离开了,将在 H ...
- leetcode 875. 爱吃香蕉的珂珂
875. 爱吃香蕉的珂珂 class Solution {public:int minEatingSpeed(vector<int>& piles, int H) {long le ...
- leetcode系列--875.爱吃香蕉的珂珂
leetcode系列–第875题.爱吃香蕉的珂珂 珂珂喜欢吃香蕉.这里有 N 堆香蕉,第 i 堆中有 piles[i] 根香蕉.警卫已经离开了,将在 H 小时后回来. 珂珂可以决定她吃香蕉的速度 K ...
- 875. 爱吃香蕉的珂珂(二分)
珂珂喜欢吃香蕉.这里有 N 堆香蕉,第 i 堆中有 piles[i] 根香蕉.警卫已经离开了,将在 H 小时后回来. 珂珂可以决定她吃香蕉的速度 K (单位:根/小时).每个小时,她将会选择一堆香蕉, ...
- LeetCode 875. 爱吃香蕉的珂珂(二分查找)
1. 题目 珂珂喜欢吃香蕉.这里有 N 堆香蕉,第 i 堆中有 piles[i] 根香蕉.警卫已经离开了,将在 H 小时后回来. 珂珂可以决定她吃香蕉的速度 K (单位:根/小时).每个小时,她将会选 ...
- LeetCode 875.爱吃香蕉的珂珂
1. 题目 原题链接 https://leetcode-cn.com/problems/koko-eating-bananas/ 题目描述 珂珂喜欢吃香蕉.这里有 N 堆香蕉,第 i 堆中有 pile ...
最新文章
- java随机点名器的思路_Java实现简单的随机点名器
- odb2.3 centos上编译、测试
- 关于解决mybase7继续使用的方法
- php 空函数,PHP 中函数 isset(), empty(), is_null() 的区别
- java类加载器_java底层内功 第一章,类加载器的任性
- 【Python学习】 - PIL - 各种图像操作
- android socket 闪退,android客户端闪退
- ‘packaging‘ with value ‘jar‘ is invalid. Aggregator projects require ‘pom‘ as packaging.
- 数据结构与算法题整理
- ajax提交手机号到php,ajax怎样申请手机号到数据库验证并且返回数据的状态值
- Word调查问卷表格统计
- 读书笔记:《特劳特营销十要》
- 思科网络安全 第七章考试答案
- 联阳IT6561|IT6561FN方案电路|替代IT6561方案设计DP转HDMI音视频转换器资料
- c语言程序设计吴国良,刘细良
- Jenkins 如何构建一个项目
- python获取win10系统声音
- 晶体塑性有限元 Abaqus 三维泰森多边形(voronoi模型)插件 V6.0
- L1-059 敲笨钟 C直观解法
- Plc与单片机的区别,哪个待遇更好?
热门文章
- 查询Microsoft Visual C++ Debug Library窗体并自动点击忽略按钮的小工具代码
- c++模板函数的声明和定义该在什么文件里?
- Ventoy多镜像+防毒全能U盘工具箱
- java多线程贪吃蛇实验报告_JAVA开放性实验报告贪吃蛇
- 把代码和环境做成docker镜像_Jenkins把GitHub项目做成Docker镜像
- java微信公众号开发一:服务器信息配置
- JDBC与ODBC的区别与应用
- ubuntu文件夹右键没有共享选项
- MySQL安全分析:缓解MySQL零日漏洞
- 使用 In-Trangle Test 检测极点