Menu
CoddyTech

Koko Eating Bananas

לקוקו יש n ערמות בננות, כאשר בערמה i יש piles[i] בננות, ונותרו לה h שעות. היא בוחרת מהירות אכילה k, מספר שלם של בננות לשעה, ומתמידה בה. בכל שעה היא אוכלת k בננות מערמה אחת; אם נותרו בערמה הזו פחות מ־k בננות, היא מסיימת אותה ונחה עד סוף השעה. החזירו את ערך ה־k הקטן ביותר שיאפשר לה לסיים את כל הערמות בתוך h שעות.

פונקציה

minEatingSpeed(piles: integer-array, h: integer) → integer
pilesinteger-array
מספר הבננות בכל ערימה
hinteger
מספר השעות שיש לקוקו
מחזירהinteger
מהירות האכילה השלמה הקטנה ביותר, בבננות לשעה, שמספיקה לסיים כל ערימה בתוך h שעות

אילוצים

  • 1 ≤ piles.length ≤ 5000
  • 1 ≤ piles[i] ≤ 109
  • piles.length ≤ h ≤ 109, לכן תמיד קיימת תשובה.

דוגמאות

קלט
piles = [4, 10, 7, 3]h = 6
פלט
5
הסבר
במהירות 5 הערימות 4, 10, 7 ו-3 דורשות 1, 2, 2 ו-1 שעות: 6 בסך הכול, וזה מתאים. במהירות 4 הן דורשות 1, 3, 2 ו-1, כלומר 7.
challenge icon

שאלת המשך

בעיית התאומים: קוקו אוכלת ערמות שלמות לפי הסדר, עד k בננות ביום, בתוך d ימים. מהו k הקטן ביותר, ומה משתנה בחיפוש שלך?

איפוס הקוד
def minEatingSpeed(piles, h):
    # כתבו כאן את הקוד

בדיקה #1

בדיקה #2

בדיקה #3

ארגומנטים

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

הפלט הצפוי

5