【二分查找】力扣 875. 爱吃香蕉的珂珂

一、题目

在这里插入图片描述

二、思路

  • 速度 k(单位:根/小时)是存在一个取值范围的。
    • 速度越大肯定在规定的时间之内一定会吃完全部的香蕉,但也是可以确定出一个上界的。由于只要保证一小时之内,可以吃完香蕉数目最多的那一堆的香蕉,那么其他数目更小的香蕉在1小时之内肯定都是可以吃完的,那么 k 的最大值就是数组的最大值。
    • k 肯定不为 0,又是整数,确定其最小值为 1.
    • k ∈ [1, max_pile]
  • 采用二分查找进行寻找 k 的最小值。

三、代码

class Solution {public int minEatingSpeed(int[] piles, int h) {int n = piles.length;// 确定 k 的搜索范围int l = 1, r = 0;for (int pile : piles) {// 找到香蕉数量最多的为 k 的最大值r = Math.max(r, pile);}// 范围内进行二分查找while (l <= r) {int mid = l + (r - l)/2;if (check(piles, h, mid)) {// 检查当前速度 k 是否能够在规定时间 h 内将全部香蕉吃完r = mid - 1;// 能吃完说明当前 k 较大,收缩右边界} else {l = mid + 1;// 不能吃完说明当前 k 较小,收缩左边界}}return l;}public boolean check(int[] piles, int h, int mid) {int sum = piles.length;for (int pile : piles) {sum += (pile - 1) / mid;if (sum > h) {return false;}}return true;}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/888587.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络-GRE基础实验二

前面我们学习了GRE隧道的建立以及通过静态路由指向的方式使得双方能够网络互联&#xff0c;但是通过静态路由可能比较麻烦&#xff0c;GRE支持组播、单播、广播因此可以在GRE隧道中运行动态路由协议使得网络配置更加灵活。 通过前面的动态路由协议的学习我们知道动态路由协议都…

QNX的内存布局和启动入口

参考资料: QNX官网文档 内存布局 添加图片注释,不超过 140 字(可选) 查看系统内存布局 # pidin syspage=asinfo Header size=0x00000108, Total Size=0x0000d1b0, #Cpu=8, Type=257 Section:asinfo offset:0x0000bdf0 size:0x00000d00 elsize:0x000000200000

使用 httputils + protostuff 实现高性能 rpc

1、先讲讲 protostuf protostuf 一直是高性能序列化的代表之一。但是用起来&#xff0c;可难受了&#xff0c;你得先申明 protostuf 配置文件&#xff0c;并且要把这个配置文件转成类。所以必然要学习新语法、新工具。 可能真的太难受了&#xff01;于是乎&#xff0c;&#…

重生之我在异世界学智力题(1)

大家好&#xff0c;这里是小编的博客频道 小编的博客&#xff1a;就爱学编程 很高兴在CSDN这个大家庭与大家相识&#xff0c;希望能在这里与大家共同进步&#xff0c;共同收获更好的自己&#xff01;&#xff01;&#xff01; 本文目录 引言智力题题目&#xff1a;《奇怪的时钟…

【优选算法】模拟

目录 一、[替换所有的问号](https://leetcode.cn/problems/replace-all-s-to-avoid-consecutive-repeating-characters/description/)二、[提莫攻击](https://leetcode.cn/problems/teemo-attacking/description/)三、[Z 字形变换](https://leetcode.cn/problems/zigzag-conver…

Pandas | 检查布尔序列函数any() 和 all()的区别

在 Python 中使用 pandas 库时&#xff0c;.any() 和 .all() 是两个用于检查布尔序列&#xff08;如 pandas 的 Series&#xff09;的函数&#xff0c;它们的行为和用途有所不同&#xff1a; 通常用于检查两列元素是否一致或者个别一致的情况 .any(): .any() 函数用于检查序列…

关于HTTP DEBUGGER PRO的DURATION列一点理解

最近在排查一个网络问题的时候&#xff0c;使用了HTTP DEBUGGER PRO进行抓包。发现HTTP DEBUGGER PRO抓包显示的DURATION列的耗时不太对劲&#xff0c;于是排查完网络问题就去看了下这个DURATION列实际所指的耗时&#xff0c;就有了这篇文章。 使用POSTMAN对https://www.rust-l…

Mysql数据库基础篇笔记

目录 sql语句 DDL——数据库定义语言&#xff08;定义库&#xff0c;表&#xff0c;字段&#xff09; 数据库操作&#xff1a; 表操作&#xff1a; DML 增删改语句 DQL 语法编写顺序&#xff1a; 条件查询 DCL 用户管理&#xff1a; 权限管理&#xff1a; 函数 常见字符串内置函…

联想按下“AI加速键”!目标:与5000万中小企业共创

根据相关数据显示&#xff0c;截至2023年末中国中小企业数量超过5300万家&#xff0c;中小企业支撑了中国经济的发展与前进。在AI大模型风潮到来之际&#xff0c;相比于AI带给大企业的长期价值&#xff0c;AI对中小企业有着更加直接、显著、决定性的意义。同时&#xff0c;AI与…

SpringBoot项目启动报错-Slf4j日志相关类找不到

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…

《OpenCV 基础全攻略:从入门到精通》

《OpenCV 基础全攻略&#xff1a;从入门到精通》 一、OpenCV 简介&#xff08;一&#xff09;特点&#xff08;二&#xff09;优势&#xff08;三&#xff09;应用场景 二、安装与配置三、OpenCV 函数详解1. 图像读取函数 cv2.imread ()2. 图像显示函数 cv2.imshow ()3. 图像保…

懒人笔记-QT程序quazip篇

懒人笔记-QT程序quazip篇 1 、前言 之前整的工程&#xff0c;在虚拟机里的UOS家庭版里测试&#xff0c;突然发现不会用了&#xff0c;折腾了好久&#xff0c;再PC里面UOS试了下&#xff0c;突然发现可以很简单&#xff0c;记录下&#xff0c;以备后用。&#xff08;工程还没有…

MacOS编译webRTC源码小tip

简单记录一下&#xff0c;本人在编译webRTC时&#xff0c;碰到了一下比较烦人的问题&#xff0c;在MacOS终端下&#xff0c;搭建科学上网之后&#xff0c;chromium的depot_tools仓库成功拉下来了&#xff0c;紧接着&#xff0c;使用fetch以及gclient sync始终都返回curl相关的网…

SABO-CNN-BiGRU-Attention减法优化器优化卷积神经网络结合双向门控循环单元时间序列预测,含优化前后对比

SABO-CNN-BiGRU-Attention减法优化器优化卷积神经网络结合双向门控循环单元时间序列预测&#xff0c;含优化前后对比 目录 SABO-CNN-BiGRU-Attention减法优化器优化卷积神经网络结合双向门控循环单元时间序列预测&#xff0c;含优化前后对比预测效果基本介绍模型描述程序设计参…

【Java基础】集合

目录 CollectionListSet *重点&#xff1a; 底层机制&#xff08;源码&#xff09;应用场景 好处&#xff1a; 数组&#xff08;长度不可改&#xff0c;同一类型&#xff0c;增删不便&#xff09;集合&#xff08;动态保存&#xff0c;多种类型&#xff0c;方便操作&#xf…

实验3-实时数据流处理-Flink

1.前期准备 &#xff08;1&#xff09;Flink基础环境安装 参考文章&#xff1a; 利用docker-compose来搭建flink集群-CSDN博客 显示为这样就成功了 &#xff08;2&#xff09;把docker&#xff0c;docker-compose&#xff0c;kafka集群安装配置好 参考文章&#xff1a; …

Vue element表格导出excel

1.安装依赖 npm install xlsx file-saver --save 2.组件中导入 import FileSaver from file-saver import XLSX from xlsx tips&#xff1a;这里注意xlsx版本&#xff0c;如果报xlsx找不到utils&#xff0c;需要变更引入方式 import * as XLSX from xlsx 3.dom <el-…

详细解读CMA实验室认可

CMA实验室认可&#xff0c;即中国计量认证&#xff08;China Metrology Accreditation&#xff09;的实验室资质认定&#xff0c;以下是对其的详细解读&#xff1a; 一、定义与目的 CMA认证是经省级以上人民政府计量行政部门对实验室的计量检定、测试能力和可靠性考核合格后进…

javaweb-Mybaits

1.Mybaits入门 &#xff08;1&#xff09;介绍 &#xff08;2&#xff09; 2.Mybaits VS JDBC 3.数据库连接池 &#xff08;1&#xff09;SpringBoot默认连接池为hikari&#xff0c;切换为Druid有两种方式 方式一&#xff1a;加依赖 方式二&#xff1a;直接修改配置文件 …

数据挖掘之逻辑回归

逻辑回归&#xff08;Logistic Regression&#xff09;是数据挖掘中一种经典且广泛应用的算法&#xff0c;主要用于解决分类问题。尽管名字中带有“回归”&#xff0c;它的核心目标却是预测离散的类别&#xff0c;而不是连续的数值。逻辑回归凭借其简单、高效、易于解释的特性&…