Menu
CoddyTech

Koko Eating Bananas

SedangBinary searchpython iconjava iconcpp iconc iconjs icon+10

Koko memiliki n tumpukan pisang, dengan piles[i] pisang di tumpukan i, dan h jam. Dia memilih kecepatan makan k, berupa bilangan bulat pisang per jam, lalu mempertahankannya. Setiap jam dia makan k pisang dari satu tumpukan. Jika tersisa kurang dari k pisang di tumpukan itu, dia menghabiskannya lalu beristirahat sampai jam tersebut berakhir. Kembalikan nilai k terkecil yang memungkinkannya menghabiskan semua tumpukan dalam waktu paling lama h jam.

Fungsi

minEatingSpeed(piles: integer-array, h: integer) → integer
pilesinteger-array
jumlah pisang di setiap tumpukan
hinteger
jumlah jam yang dimiliki Koko
Mengembalikaninteger
kecepatan makan bilangan bulat terkecil, dalam satuan pisang per jam, yang menghabiskan setiap tumpukan dalam h jam

Batasan

  • 1 ≤ piles.length ≤ 5000
  • 1 ≤ piles[i] ≤ 109
  • piles.length ≤ h ≤ 109, jadi selalu ada jawaban.

Contoh

Input
piles = [4, 10, 7, 3]h = 6
Output
5
Penjelasan
Pada kecepatan 5, tumpukan 4, 10, 7, dan 3 membutuhkan waktu 1, 2, 2, dan 1 jam: totalnya 6 jam, sesuai batas waktu. Pada kecepatan 4, tumpukan tersebut membutuhkan waktu 1, 3, 2, dan 1 jam, totalnya 7 jam.
challenge icon

Pertanyaan lanjutan

Soal Koko: Koko menghabiskan seluruh tumpukan secara berurutan, paling banyak k pisang per hari, dalam d hari. Berapa nilai k terkecil, dan apa yang berubah dalam pencarianmu?

Reset kode
def minEatingSpeed(piles, h):
    # Tulis kodemu di sini

Tes #1

Tes #2

Tes #3

Argumen

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

Output yang diharapkan

5