diff --git a/cs/koko-eating-bananas.cs b/cs/koko-eating-bananas.cs new file mode 100644 index 0000000..bd5d716 --- /dev/null +++ b/cs/koko-eating-bananas.cs @@ -0,0 +1,22 @@ +public class Solution { + public int MinEatingSpeed(int[] piles, int h) { + double getTotal(int hourly) => piles.Sum(p => double.Ceiling(p / (double)hourly)); + + int answer = -1; + + int low = 1, high = piles.Max(); + while (low <= high) { + var mid = (low + high) / 2; + var total = getTotal(mid); + + if (total <= h) { + answer = mid; + high = mid - 1; + } else { + low = mid + 1; + } + } + + return answer; + } +}