当前位置: 首页 > news >正文

爱吃香蕉的珂珂(LeetCode)

题目

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

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

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

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

解题

"""
时间复杂度: O(n log m),其中 n 是堆的数量,m 是香蕉堆中最大数量。
空间复杂度: O(1),只使用了常数空间。
"""import mathdef minEatingSpeed(piles, h):# 二分查找的初始范围left, right = 1, max(piles)while left < right:# 取中间速度mid = (left + right) // 2# 计算以mid速度吃完所有香蕉所需的时间time = sum(math.ceil(pile / mid) for pile in piles)# 如果时间超过h,说明速度太慢,需要增加速度if time > h:left = mid + 1else:right = mid# 返回最小速度return left# 测试
piles = [3, 6, 7, 11]
h = 8
print(minEatingSpeed(piles, h))  # 输出: 4

http://www.mrgr.cn/news/8516.html

相关文章:

  • Javaweb学习之Vue实践小界面(四)
  • MySQL面试常问问题
  • JS 和 ES6 补充学习
  • 【spring boot自动配置】深入探讨 Spring Boot 自动配置:实现与机制
  • 混合动力汽车救援充电器 Midtronics XRC-3363
  • Docker 的基本管理
  • 蒙特卡洛应用:RTX 光线追踪算法 ReSTIR 原理
  • (javaweb)maven高级
  • 文章解读与仿真程序复现思路——电力系统自动化EI\CSCD\北大核心《极端冰雪天气下计及孤岛划分与融合的配电网故障恢复》
  • 达梦表字段、字段类型,精度比对及更改字段SQL生成
  • 基于HarmonyOS的宠物收养系统的设计与实现(一)
  • Vue路由
  • 视频质量诊断服务 视频质量诊断工具 图像/视频质量分析服务及工具 深度学习视频质量分析系统
  • 基于Java爬取微博数据(五) 补充微博正文列表图片 or 视频 内容
  • MacOS上升级Ruby版本
  • 【自动驾驶】控制算法(四)坐标变换与横向误差微分方程
  • 实现微信公众号的生成二维码,二维码和图片合并
  • 批量处理 图片缩放
  • 新“冰桶挑战”风靡奥运年,荣耀让科技有温度
  • Mysql的相关编程基础知识