Menu
CoddyTech

Koko Eating Bananas

لدى Koko عدد 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

سؤال إضافي

مسألة التوأم: تأكل Koko أكوام الموز كاملةً بالترتيب، بحد أقصى k موزة في اليوم، خلال d أيام. ما أصغر قيمة لـ k، وما الذي يتغير في بحثك؟

إعادة ضبط الشيفرة
def minEatingSpeed(piles, h):
    # اكتب الكود هنا

اختبار #1

اختبار #2

اختبار #3

الوسائط

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

الإخراج المتوقع

5