0
点赞
收藏
分享

微信扫一扫

Leecode 875. 爱吃香蕉的珂珂 二分

沐之轻语 2022-04-28 阅读 55
c++leetcode

原题链接:Leecode 875. 爱吃香蕉的珂珂
在这里插入图片描述
在这里插入图片描述

class Solution {
public:
    int Count(vector<int>& piles,int mid)
    {
        int c=0,l=0;
        while(piles[l]<=mid) l++;
        for(int i=l;i<piles.size();i++)
        {
            int t=piles[i]%mid;
            int n=piles[i]/mid;
            c+= t==0 ? n:n+1;
        }
        return c+l;
    }
    int minEatingSpeed(vector<int>& piles, int h) {
        int n=piles.size();
        sort(piles.begin(),piles.end());
        if(h==n) return piles.back();
        int l=1,r=piles.back();
        while(l<r)
        {
            int mid=l+(r-l)/2;
            if(Count(piles,mid)>h) l=mid+1;
            else r=mid;
        }
        return l;
    }
};
举报

相关推荐

0 条评论