2023年11月30日 星期四

[875] Koko Eating Bananas

算是轉了一個彎的binary search,但是還要考慮integer overflow的問題,不喜歡XD
怎麼可能吃那麼多香蕉!!! 要考到overflow那就不要用香蕉當例子!(妳真囉唆XD)
所以就先這樣吧Orz

int minEatingSpeed(int* piles, int pilesSize, int h) {
int min = INT_MAX, max = INT_MIN;
for (int i=0;i<pilesSize;i++)
{
if (piles[i]> max)
max= piles[i];
if (piles[i]< min)
min = piles[i];
}
min = 1;
int l=min, r=max, round;
double mid;
while(l<r)
{
round=0;
mid = (r+l)/2;
for (int i=0;i<pilesSize; i++)
round += ceil(piles[i]/mid);

if (round <=h)
r= mid;
else
l=mid+1;
}
mid = (r+l)/2;
return mid;
}

沒有留言:

張貼留言