Binary Search (video 49 )
class Solution {
public boolean isPossible(int[] nums , int h , int k)
{
for(int i=0;i<nums.length;i++)
{
int c = nums[i]/k;
if(nums[i] % k != 0)
c++;
h-=c;
if(h<0)
return false;
}
return true;
}
public int minEatingSpeed(int[] piles, int h) {
int l=1;
int r = 1000000000;
while(l<=r)
{
int mid = l + (r-l)/2;
if(isPossible(piles,h,mid))
r = mid-1;
else
l=mid+1;
}
return l;
}
}