Menu
CoddyTech

Koko Eating Bananas

Koko có n đống chuối, trong đó đống i có piles[i] quả chuối, và có h giờ. Cô chọn một tốc độ ăn k, tức là một số nguyên chỉ số quả chuối ăn mỗi giờ, rồi giữ nguyên tốc độ đó. Mỗi giờ, cô ăn k quả chuối từ một đống; nếu đống đó còn ít hơn k quả, cô ăn hết rồi nghỉ cho đến hết giờ. Hãy trả về k nhỏ nhất giúp cô ăn hết tất cả các đống trong vòng h giờ.

Hàm

minEatingSpeed(piles: integer-array, h: integer) → integer
pilesinteger-array
số quả chuối trong mỗi đống
hinteger
số giờ Koko có
Trả vềinteger
tốc độ ăn nguyên nhỏ nhất, tính bằng số quả chuối mỗi giờ, để ăn hết mọi đống chuối trong vòng h giờ

Ràng buộc

  • 1 ≤ piles.length ≤ 5000
  • 1 ≤ piles[i] ≤ 109
  • piles.length ≤ h ≤ 109, vì vậy luôn tồn tại đáp án.

Ví dụ

Đầu vào
piles = [4, 10, 7, 3]h = 6
Đầu ra
5
Giải thích
Ở tốc độ 5, các đống 4, 10, 7 và 3 cần lần lượt 1, 2, 2 và 1 giờ: tổng cộng là 6 giờ, vừa khớp. Ở tốc độ 4, chúng cần lần lượt 1, 3, 2 và 1 giờ, tổng cộng là 7 giờ.
challenge icon

Câu hỏi mở rộng

Bài toán tương tự: Koko ăn hết từng đống theo thứ tự, tối đa k quả chuối mỗi ngày, trong vòng d ngày. k nhỏ nhất là bao nhiêu, và bạn cần thay đổi điều gì trong cách tìm kiếm?

Đặt lại code
def minEatingSpeed(piles, h):
    # Viết code ở đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

piles = [4, 10, 7, 3]
h = 6

Đầu ra mong đợi

5