程式語言 - LeetCode - C - 875. Koko Eating Bananas



參考資訊:
https://www.cnblogs.com/grandyang/p/10807121.html

題目:


解答:

int minEatingSpeed(int *piles, int pilesSize, int h)
{
    int r = 0;
    int left = 1;
    int right = 1000000000;
 
    while (left <= right) {
        int i = 0;
        long cnt = 0;
        int m = left + ((right - left) >> 1);
 
        for (i = 0; i < pilesSize; i++) {
            cnt += (piles[i] + m - 1) / m;
        }
 
        if (cnt <= h) {
            r = m;
            right = m - 1;
        }
        else {
            left = m + 1;
        }
    }
 
    return r;
}