文章目录
题目
代码(8.20 首刷看解析)
class Solution {
public:
int minEatingSpeed(vector<int>& piles, int h) {
int r_hour = 1000000001, l_hour = 1;
while(l_hour < r_hour) {
int mid = (l_hour+r_hour)/2;
int mid_time = takeTime(piles, mid);
if(mid_time > h) {
l_hour = mid + 1;
} else
r_hour = mid;
}
return l_hour;
}
int takeTime(vector<int>& piles, int x) {
int hours = 0;
for(int& pile : piles) {
hours += pile/x;
if(pile%x > 0)
hours++;
}
return hours;
}
};