150 principais entrevistasFácil

Koko comendo bananas

Guia detalhado e implementação de Python para o problema 'Koko Eating Bananas'.

Declaração do problema

Fácil

Koko adora comer bananas. Existem n pilhas de bananas, a iª pilha tem piles[i] bananas. Os guardas foram e voltarão em h horas.

Koko pode decidir sua velocidade de consumo de bananas por hora de k. A cada hora, ela escolhe uma pilha de bananas e come k bananas dessa pilha. Se a pilha tiver menos de k bananas, ela comerá todas e não comerá mais bananas durante esta hora.

Koko gosta de comer devagar, mas ainda quer terminar de comer todas as bananas antes que os guardas voltem.

Retorne o número inteiro mínimo k para que ela possa comer todas as bananas em h horas.

Escreva uma função minEatingSpeed(piles: List[int], h: int) -> int.

Restrições
  • 1 <= len(piles) <= 10^4
  • len(piles) <= h <= 10^9
  • 1 <= piles[i] <= 10^9

Exemplos

Example 1
Input
piles = [3, 6, 7, 11], h = 8
Output
4
Explanation

At speed 4: pile 3 takes 1 hour, pile 6 takes 2 hours, pile 7 takes 2 hours, pile 11 takes 3 hours. Total = 8 hours.

Example 2
Input
piles = [30, 11, 23, 4, 20], h = 5
Output
30
Explanation

At speed 30: each pile takes 1 hour. Total = 5 hours.

Example 3
Input
piles = [30, 11, 23, 4, 20], h = 6
Output
23
Explanation

At speed 23: piles take 2+1+1+1+1 = 6 hours.

Need a Hint?
Considere usar estruturas de dados específicas da pesquisa binária, como conjuntos ou heaps.
Edge Cases to Watch
  • Estruturas de entrada vazias
  • Entradas de elemento único
  • Grandes limites numéricos

Pronto para resolver?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Abrir no Editor
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Recursos Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.