二分搜索-爱吃香蕉的珂珂
题目
爱吃香蕉的珂珂
解题思路
要求返回在 h
小时内吃掉所有香蕉的最小速度 k
(k
为整数),转化一下等同于求右区间的左边界。
一般二分搜索都需要一个有序数列,此题没有有序数列,那怎么办呢?
观察可知,如果有一个函数$f(k)$来表示当吃香蕉速度为$k$时,吃完所有香蕉所用的时间,那么$f(k)$是随着$k$单调递减的。
只有知道了单调性,我们才能通过大小比较,来进行搜索区间的缩小。
代码实现
1 | class Solution: |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Gua!
评论