付費限定

二分搜尋: Koko吃香蕉 Koko Eating Bananas_Leetcode #875 精選75題

更新於 發佈於 閱讀時間約 3 分鐘

題目敘述

題目會給定一個輸入陣列piles,代表每堆香蕉所擁有的香蕉數量,和
一個時間上限h小時。

Koko喜歡吃香蕉,每小時可以吃k個香蕉,請問k值最少需要多少,才能讓Koko在h小時內吃完所有的香蕉


題目的原文敘述


測試範例

Example 1:

Input: piles = [3,6,7,11], h = 8
Output: 4

Example 2:

Input: piles = [30,11,23,4,20], h = 5
Output: 30

Example 3:

Input: piles = [30,11,23,4,20], h = 6
Output: 23

約束條件

Constraints:

  • 1 <= piles.length <= 10^4

香蕉最少有一堆,最多有一萬堆。

  • piles.length <= h <= 10^9

時間上限h介於香蕉總堆數~十億之間。

  • 1 <= piles[i] <= 10^9

每堆香蕉最少含有一根香蕉,最多有十億根香蕉。


演算法 二分搜尋法

從題意上推敲,可以知道,進食的速率和完成時間為負相關

吃的越快,所需完食時間越少。

吃的越慢,所需完食時間越多。


輸入輸出曲線具有已排序(逆序)的性質,因此可以用二分搜尋法Binary search去找出能剛好在h小時內完食的進食速率k的最小值


以行動支持創作者!付費即可解鎖
本篇內容共 1542 字、1 則留言,僅發佈於Leetcode精選75題 解析+統整你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
avatar-img
91會員
425內容數
由有業界實戰經驗的演算法工程師, 手把手教你建立解題的框架, 一步步寫出高效、清晰易懂的解題答案。 著重在讓讀者啟發思考、理解演算法,熟悉常見的演算法模板。 深入淺出地介紹題目背後所使用的演算法意義,融會貫通演算法與資料結構的應用。 在幾個經典的題目融入一道題目的多種解法,或者同一招解不同的題目,擴展廣度,並加深印象。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
題目敘述 題目會給定一個猜數字的場景和介面 (包含一個可以呼叫,驗證是否為答案的API guess() function), 要求我們實現猜數字的function guessNumber(int n)。 題目已經事先設定好一個祕密數字,要求我們去找出來那個祕密數字是多少。 就好像小時候
題目會給我們一個山形的輸入陣列,和目標值target,要求我們找出目標值所在的陣列索引。如果出現兩次,返回比較小的那一個,也就是比較靠左的那個索引值。 山形的意思就是說,從最左側到山頂最大值都是遞增,從山頂最大值到右側都是遞減。
題目給定一個已排序的輸入陣列,陣列裡面的數字自分別代表每篇論文的被引用數。 要求我們計算h-index。 h-index的定義: 找一個最大的h值,使得有h篇論文,個別論文的被引用數都 大於等於 h
題目會給定一個2D 二維的矩陣,矩陣內的元素值代表對應的高度,要求我們找出相對最高點,也就是(大樓)高度大於N4 東、南、西、北 四個鄰居的索引值。 題目保證矩陣內相鄰的元素值都不相同,也又是相鄰的兩兩相比較,一定有一個比較高,有一個比較矮。
題目會給定一個陣列,陣列裡面的元素分布就像一座山峰。 最大值的左邊都是上坡段,最大值的右邊都是下坡段。 要求我們找出陣列裡面的絕對極大值(absolute max value)所在的陣列索引
題目會給定一個陣列,裡面有大有小,可以把數字的大小類比成高度 要求我們找出陣列裡面的相對極大值(relative max value)所在的陣列索引 也就是說當下這個元素,大於左邊鄰居的元素值,也大於右邊鄰居的元素值
題目敘述 題目會給定一個猜數字的場景和介面 (包含一個可以呼叫,驗證是否為答案的API guess() function), 要求我們實現猜數字的function guessNumber(int n)。 題目已經事先設定好一個祕密數字,要求我們去找出來那個祕密數字是多少。 就好像小時候
題目會給我們一個山形的輸入陣列,和目標值target,要求我們找出目標值所在的陣列索引。如果出現兩次,返回比較小的那一個,也就是比較靠左的那個索引值。 山形的意思就是說,從最左側到山頂最大值都是遞增,從山頂最大值到右側都是遞減。
題目給定一個已排序的輸入陣列,陣列裡面的數字自分別代表每篇論文的被引用數。 要求我們計算h-index。 h-index的定義: 找一個最大的h值,使得有h篇論文,個別論文的被引用數都 大於等於 h
題目會給定一個2D 二維的矩陣,矩陣內的元素值代表對應的高度,要求我們找出相對最高點,也就是(大樓)高度大於N4 東、南、西、北 四個鄰居的索引值。 題目保證矩陣內相鄰的元素值都不相同,也又是相鄰的兩兩相比較,一定有一個比較高,有一個比較矮。
題目會給定一個陣列,陣列裡面的元素分布就像一座山峰。 最大值的左邊都是上坡段,最大值的右邊都是下坡段。 要求我們找出陣列裡面的絕對極大值(absolute max value)所在的陣列索引
題目會給定一個陣列,裡面有大有小,可以把數字的大小類比成高度 要求我們找出陣列裡面的相對極大值(relative max value)所在的陣列索引 也就是說當下這個元素,大於左邊鄰居的元素值,也大於右邊鄰居的元素值
你可能也想看
Google News 追蹤
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
各位請掏出你們的香蕉讓我看看。 今天抽到了很酷的香蕉,看起來壞壞的,是大藍...大黑蕉! 一天可以拿690個香蕉,這個數字也是怪怪的。
Thumbnail
前 一個飯糰 飢止腹滿 今 一桌滿漢 飢渴難填 嘴是同一張 索求不一樣
Thumbnail
飲食法要能證明有效,當然要經過嚴格的冬天考驗,因為冬天是食慾旺盛的時候,這不僅是天氣冷想要吃點熱量,也是身體本能想要求生存所致。因此,去思考該吃什麼,然後排定菜單,也是一種樂趣所在。由於月光的食物來源是以全聯為中心,而全聯香蕉的供應在冬季變得不太穩定,因此香蕉的來源產生變數,因此就必須
Thumbnail
放了很多圖片的解答(一直複製貼上好累ㄚ)
Thumbnail
半夜嘴饞的部分 最近很喜歡低卡飲食,晚上十點半的時候看見一個感覺很好吃的食譜--香蕉巧克力布朗尼。 不用打發不耗時,家裡又有材料,當下就決定要做XD(超行動派) 一到兩人份材料: 香蕉一根(壓碎) 牛奶60毫升 低脂可可粉30公克 雞蛋一顆 全部壓碎攪拌均勻就可以入烤箱,中途不用換邊
Thumbnail
「芭芭芭芭芭娜娜!香蕉香蕉香蕉香蕉!」 這是一篇,從頭到尾都是香蕉的日誌,香蕉的皮和亮語一樣是黃色的!黑掉的香蕉和亮語的木馬一樣是黑色的!嘿嘿嘿,我究竟在寫些什麼呢?
Thumbnail
現代社會跟以前不同了,人人都有一支手機,只要打開就可以獲得各種資訊。過去想要辦卡或是開戶就要跑一趟銀行,然而如今科技快速發展之下,金融App無聲無息地進到你生活中。但同樣的,每一家銀行都有自己的App時,我們又該如何選擇呢?(本文係由國泰世華銀行邀約) 今天我會用不同角度帶大家看這款國泰世華CUB
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
各位請掏出你們的香蕉讓我看看。 今天抽到了很酷的香蕉,看起來壞壞的,是大藍...大黑蕉! 一天可以拿690個香蕉,這個數字也是怪怪的。
Thumbnail
前 一個飯糰 飢止腹滿 今 一桌滿漢 飢渴難填 嘴是同一張 索求不一樣
Thumbnail
飲食法要能證明有效,當然要經過嚴格的冬天考驗,因為冬天是食慾旺盛的時候,這不僅是天氣冷想要吃點熱量,也是身體本能想要求生存所致。因此,去思考該吃什麼,然後排定菜單,也是一種樂趣所在。由於月光的食物來源是以全聯為中心,而全聯香蕉的供應在冬季變得不太穩定,因此香蕉的來源產生變數,因此就必須
Thumbnail
放了很多圖片的解答(一直複製貼上好累ㄚ)
Thumbnail
半夜嘴饞的部分 最近很喜歡低卡飲食,晚上十點半的時候看見一個感覺很好吃的食譜--香蕉巧克力布朗尼。 不用打發不耗時,家裡又有材料,當下就決定要做XD(超行動派) 一到兩人份材料: 香蕉一根(壓碎) 牛奶60毫升 低脂可可粉30公克 雞蛋一顆 全部壓碎攪拌均勻就可以入烤箱,中途不用換邊
Thumbnail
「芭芭芭芭芭娜娜!香蕉香蕉香蕉香蕉!」 這是一篇,從頭到尾都是香蕉的日誌,香蕉的皮和亮語一樣是黃色的!黑掉的香蕉和亮語的木馬一樣是黑色的!嘿嘿嘿,我究竟在寫些什麼呢?