码迷,mamicode.com
首页 > 其他好文 > 详细

875. Koko Eating Bananas

时间:2018-11-10 19:15:15      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:with   size   nbsp   for   run   sha   inpu   tin   length   

Koko loves to eat bananas.  There are N piles of bananas, the i-th pile has piles[i] bananas.  The guards have gone and will come back in H hours.

Koko can decide her bananas-per-hour eating speed of K.  Each hour, she chooses some pile of bananas, and eats K bananas from that pile.  If the pile has less than K bananas, she eats all of them instead, and won‘t eat any more bananas during this hour.

Koko likes to eat slowly, but still wants to finish eating all the bananas before the guards come back.

Return the minimum integer K such that she can eat all the bananas within H hours.

 

Example 1:

Input: piles = [3,6,7,11], H = 8
Output: 4

Example 2:

Input: piles = [30,11,23,4,20], H = 5
Output: 30

Example 3:

Input: piles = [30,11,23,4,20], H = 6
Output: 23

 

Note:

  • 1 <= piles.length <= 10^4
  • piles.length <= H <= 10^9
  • 1 <= piles[i] <= 10^9

 

Approach #1:

class Solution {
public:
    int minEatingSpeed(vector<int>& piles, int H) {
        int len = piles.size();
       if (len == 1) return 1;
        long long l = 0, r = pow(10, 9);
        while (l < r) {         // not l <= r
            long long mid = l + (r - l) / 2;
            int time = 0;
            for (int i = 0; i < len; ++i) 
                time += (piles[i] - 1) / mid + 1; // better than time += (piles[i] % mid) == 0 ? piles[i] / mid : piles[i] / mid + 1;
            if (time > H) l = mid + 1;
            else r = mid;       // mot r = mid - 1
        }
        return l;
    }
};
Runtime: 68 ms, faster than 38.03% of C++ online submissions for Koko Eating Bananas.

 

Analysis:

Pay attention to the boundary condition.

 

875. Koko Eating Bananas

标签:with   size   nbsp   for   run   sha   inpu   tin   length   

原文地址:https://www.cnblogs.com/ruruozhenhao/p/9940100.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!