本文主要是介绍leetcode 875. 爱吃香蕉的珂珂C++,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
链接:
链接: 875. 爱吃香蕉的珂珂
描述和示例
代码:
class Solution {
public:long gettime(vector<int>& piles, int speed){long time = 0;for(auto a:piles){time+=(a+speed-1)/speed;}return time;}int minEatingSpeed(vector<int>& piles, int h) {int Min = 1;int Max = 0;for(int a:piles){Max=max(a,Max);}int k = Max;while(Min<Max){int speed=(Max-Min)/2+Min;long time = gettime(piles,speed);if(time<=h){k=speed;Max=speed;}else{Min=speed+1;}}return k;}
};
简单解析
珂珂的速度一定是:1到 piles[i].max
speed可能等于这里面任何的值
这个题可以转化为:
从1,2,3,4,5,,,, piles[i].max
中找到一个符合条件的返回值
这是一个带有顺序的数组,
所以可以使用二分查找法来找到
这篇关于leetcode 875. 爱吃香蕉的珂珂C++的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!