题目链接

思路

  • 这个也是范围内的查找,一开始可以确定狒狒的速度区间应该是[1,maxVal],但是有两个细节需要注意

    • 如何通过piles数组和speed计算时间

      result += (pile + speed - 1) / speed;
      
    • 如果某一步找到的某个mid对应的时间恰好为h,仍然不能退出循环,因为有可能mid-1对应的时间也为h
import java.util.Arrays;class Solution {public int minEatingSpeed(int[] piles, int h) {int left = 1, right = Arrays.stream(piles).max().getAsInt(), result = 0;while (left <= right) {int mid = left + ((right - left) >> 1), hour = getEatTime(piles, mid);if (hour > h) {left = mid + 1;} else {result = mid;right = mid - 1;}}return result;}private int getEatTime ( int[] piles, int speed){int result = 0;for (int pile : piles) {result += (pile + speed - 1) / speed;}return result;}}

剑指offer 专项突破版 73、狒狒吃香蕉相关推荐

  1. LeetCode刷题 _「剑指 Offer]专项突破版

    第01天 整数 剑指 Offer II 001. 整数除法 class Solution:# 时间复杂度:O(logn), 空间复杂度:O(1)def divideCore(self, dividen ...

  2. 剑指Offer专项突破版(58)—— 日程表

    题目 剑指 Offer II 058. 日程表 思路 假设现在已经有一堆互不冲突的日程了,此时需要新增一个日程k,其开始时间为start,结束时间为end,怎么判断是否和已有的日程冲突呢? 先考虑所有 ...

  3. 剑指offer 专项突破版 74、合并区间

    题目链接 思路 注意合并区间的规则是,对于有重合的区间直接合并(重合意味着某一个区间的头部在另一个区间之中) 所以我们可以先把区间按照区间头排序,然后再挨个判断是否重合~ 注意具体的写法 class ...

  4. 剑指offer 专项突破版 78、合并排序链表

    题目链接 思路 最初的思路是上一题既然实现了归并两个链表,那么我们可以挨个归并~ 归并n-1次就可以,但是这样时间复杂度为O(k²n) class Solution {public ListNode ...

  5. 剑指offer专项突破版

    面试题1:整除除法 力扣连接:https://leetcode-cn.com/problems/xoh6Oh/submissions/ 题目描述 输入两个int型整数,它们进行除法计算并返回商,要求不 ...

  6. 剑指offer 专项突破版 79、所有子集

    题目链接 思路一:回溯 对于这种可以分为若干步,每一步有很多选择的题目非常适合用回溯法来做. 具体的方式为写一个helper函数,参数为当前的结果集合subset,当前选择的数字的索引index. 首 ...

  7. 剑指offer专项突击版第24天

    剑指 Offer II 071. 按权重生成随机数 二分+前缀和 看了几遍题目愣是没看明白,最后看的题解明白了! 题意就是按照 w[i]w[i]w[i] 的权重选取下标 iii,这个问题可以转化成:所 ...

  8. 剑指 Offer II 022. 链表中环的入口节点(力扣剑指Offer专项突击版——链表2)

    题目 给定一个链表,返回链表开始入环的第一个节点. 从链表的头节点开始沿着 next 指针进入环的第一个节点为环的入口节点.如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 po ...

  9. 剑指Offer Ⅱ 005.单词长度的最大乘积 (力扣剑指Offer专项突击版——整数_5)

    题目 给定一个字符串数组 words,请计算当两个字符串 words[i] 和 words[j] 不包含相同字符时,它们长度的乘积的最大值.假设字符串中只包含英语的小写字母.如果没有不包含相同字符的一 ...

最新文章

  1. Sublime配置C和C++编译运行环境
  2. 程序运行过程中遇到“ORA-03114: not connected to ORACLE”的问题解决
  3. FirstApp,iphone开发学习总结7,相机
  4. 【C++】Visual Studio教程(二) - 代码编辑器
  5. C语言数组越界导致无限循环
  6. 50、BGP配置实验之社团属性community
  7. Linux Performance Observability Tools
  8. 《业务测试》手机号码格式
  9. 百度经纬度与高德经纬度互转
  10. ValueError: Format specifier missing precision
  11. 考研数学-三角函数与反三角函数图像
  12. linux 文件755权限的意思,Linux文件和目录的777、755、644权限解释
  13. leetcode No7. Reverse Integer
  14. Android 音频降噪 webrtc 去回声
  15. 通过出生日期计算年龄
  16. AnchoredSnapper函数使用说明
  17. Windows10电脑底部任务栏无响应解决方法
  18. 点滴收集-HyperSnap 截图工具
  19. Java 计算包 ejml 、 jblas及Jama 矩阵计算性能比较
  20. Wireshark中的名字解析

热门文章

  1. 合振动的初相位推导_如何确定合振动的初相位
  2. Xshell连接本地虚拟机失败问题/Connecting to 192.168.169.111:22... Connection established. To escape to local she
  3. hi3559AV100调试记录
  4. MySQL深度分页的问题及优化方案:千万级数据量如何快速分页
  5. set IDENTITY_INSERT on 和 off 的设置
  6. PSpice 模型创建与应用实例
  7. 用python做视觉检测系统_教你用 Python 做一个物体检测系统
  8. linux游戏object怎么玩,用Object Detection玩第一人称射击游戏
  9. 三种治疗新冠肺炎中药颗粒获批上市
  10. 35+程序员该怎么办?有哪些破局方法?