当前位置:网站首页>875. 爱吃香蕉的珂珂 - 力扣(LeetCode)
875. 爱吃香蕉的珂珂 - 力扣(LeetCode)
2022-07-06 09:28:00 【你好_Ä】
875. 爱吃香蕉的珂珂 - 力扣(LeetCode)
力扣2022/6/7每日一题
珂珂喜欢吃香蕉。这里有 n 堆香蕉,第 i 堆中有 piles[i] 根香蕉。警卫已经离开了,将在 h 小时后回来。
珂珂可以决定她吃香蕉的速度 k (单位:根/小时)。每个小时,她将会选择一堆香蕉,从中吃掉 k 根。如果这堆香蕉少于 k 根,她将吃掉这堆的所有香蕉,然后这一小时内不会再吃更多的香蕉。
珂珂喜欢慢慢吃,但仍然想在警卫回来前吃掉所有的香蕉。
返回她可以在 h 小时内吃掉所有香蕉的最小速度 k(k 为整数)。
示例 1:
输入:piles = [3,6,7,11], h = 8
输出:4
提示:
1 <= piles.length <= 10^4piles.length <= h <= 10^91 <= piles[i] <= 10^9
问题解析
基础的二分答案问题,二分枚举可能的k,看k能否在规定的时间内吃完所有香蕉,如果可以说明我们速度还能继续小,如果不可以则说明我们速度要增加。
至于判断能否在规定时间内吃完香蕉,可以用枚举的mid遍历数组,如果能整除当前元素,说明吃完这一堆香蕉所用时间是(当前元素/mid),不能整除就再++。根据遍历数组后计数器的值和h的大小来判断,小于等于h就说明我们能在规定内吃完,反之不行。
AC代码
class Solution {
public:
bool check(int mid,int h,vector<int>& piles)
{
int res=0,n=piles.size();
for(int i=0;i<n;i++)
{
if(piles[i]%mid!=0)res++;
res+=piles[i]/mid;
}
return res<=h;
}
int minEatingSpeed(vector<int>& piles, int h) {
int l=1,r=1e9;
while(l<r)
{
int mid=(l+r)/2;
if(check(mid,h,piles))r=mid;
else l=mid+1;
}
return l;
}
};
边栏推荐
- Penetration test 2 --- XSS, CSRF, file upload, file inclusion, deserialization vulnerability
- 渗透测试 ( 8 ) --- Burp Suite Pro 官方文档
- (POJ - 3258) River hopper (two points)
- C basic grammar
- Essai de pénétration (1) - - outils nécessaires, navigation
- 【练习-3】(Uva 442)Matrix Chain Multiplication(矩阵链乘)
- 605. Planting flowers
- Hdu-6025-prime sequence (girls' competition)
- Information security - Epic vulnerability log4j vulnerability mechanism and preventive measures
- 【练习-7】Crossword Answers
猜你喜欢

Gartner: five suggestions on best practices for zero trust network access

【高老师UML软件建模基础】20级云班课习题答案合集

Radar equipment (greedy)

QT实现窗口置顶、置顶状态切换、多窗口置顶优先关系

QWidget代码设置样式表探讨

860. Lemonade change

Analyse du format protobuf du rideau en temps réel et du rideau historique de la station B

The concept of C language array

Pytorch extract skeleton (differentiable)

渗透测试 ( 4 ) --- Meterpreter 命令详解
随机推荐
Information security - threat detection - detailed design of NAT log access threat detection platform
Penetration test (3) -- Metasploit framework (MSF)
[exercise-6] (UVA 725) division = = violence
QT实现窗口置顶、置顶状态切换、多窗口置顶优先关系
快速转 TypeScript 指南
Opencv learning log 28 -- detect the red cup cover
Essai de pénétration (1) - - outils nécessaires, navigation
Programmers, what are your skills in code writing?
Openwrt source code generation image
【练习-9】Zombie’s Treasure Chest
Analyse du format protobuf du rideau en temps réel et du rideau historique de la station B
TCP's three handshakes and four waves
渗透测试 2 --- XSS、CSRF、文件上传、文件包含、反序列化漏洞
F - birthday cake (Shandong race)
C language is the watershed between low-level and high-level
Interesting drink
AcWing:第56场周赛
[exercise-5] (UVA 839) not so mobile (balance)
QNetworkAccessManager实现ftp功能总结
Socket communication