Koko Eating Bananas LeetCode solution in Java

1
class Solution {
2
public int minEatingSpeed(int[] piles, int h) {
3
int max = 0;
4
int ans = 0;
5
for (int i = 0; i < piles.length; i++) {
6
max = Math.max(piles[i], max);
7
}
8
if (piles.length == h) return max;
9
int left = 1;
10
int right = max;
11
while (left <= right) {
12
int mid = left + (right - left) / 2;
13
double num = 0;
14
int time = 0;
15
for (int i = 0; i < piles.length; i++) {
16
num = (double) piles[i] / (mid);
17
if (num > piles[i] / mid) time += num + 1;
18
else time += num;
19
}
20
if (time <= h) {
21
ans = mid;
22
right = mid - 1;
23
} else left = mid + 1;
24
}
25
return ans;
26
}
27
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0