Описание:
Коко любит есть бананы. Есть N сваи бананов, у меня есть сваи [I] бананы. Охранники пошли и вернутся через часы.
Коко может решить ее скорость еды бананов в час k. Каждый час она выбирает немного кучу бананов и ест k бананов из этой кучи. Если ворс имеет меньше K бананов, она ест их вместо этого и не будет есть больше бананов в течение этого часа.
Коко любит есть медленно, но все же хочет закончить все бананы перед возвращением охранников.
Верните минимальное целое число k такое, что она может съесть все бананы в часах часа.
Решение:
Сложность времени: O (NLOG (N)) Космическая сложность: O (1)
// Binary Search approach var minEatingSpeed = function(piles, h) { // Check if koko can eat all the piles in h hours at his speed function checkCondition(speed) { let time = 0 for(const pile of piles) { time += Math.ceil(pile / speed); } return time <= h } // Binary search let left = 1, right = Math.max(...piles) while(left < right) { const mid = left + Math.floor((right-left)/2) if(checkCondition(mid)) { right = mid } else { left = mid+1 } } return left };
Оригинал: “https://dev.to/cod3pineapple/leetcode-875-koko-eating-bananas-javascript-solution-4o2”