付費限定

用最少的弓箭射穿所有氣球 Min of Arrow to Burst Balloon_Leetcode #452精選75

更新於 2024/08/18閱讀時間約 6 分鐘

題目敘述

題目會給定一個輸入陣列points,陣列元素都是一組pair,

points[i] = [starti, endi],分別代表每顆氣球的左邊界,和右邊界。

假設弓箭射出去後,動能不會減弱,沿路上的氣球都會被射穿。

請問最少需要幾隻弓箭,才可以射穿所有氣球?


題目的原文敘述


測試範例

Example 1:

Input: points = [[10,16],[2,8],[1,6],[7,12]]
Output: 2
Explanation: The balloons can be burst by 2 arrows:
- Shoot an arrow at x = 6, bursting the balloons [2,8] and [1,6].
- Shoot an arrow at x = 11, bursting the balloons [10,16] and [7,12].

Example 2:

Input: points = [[1,2],[3,4],[5,6],[7,8]]
Output: 4
Explanation: One arrow needs to be shot for each balloon for a total of 4 arrows.

Example 3:

Input: points = [[1,2],[2,3],[3,4],[4,5]]
Output: 2
Explanation: The balloons can be burst by 2 arrows:
- Shoot an arrow at x = 2, bursting the balloons [1,2] and [2,3].
- Shoot an arrow at x = 4, bursting the balloons [3,4] and [4,5].

約束條件

Constraints:

  • 1 <= points.length <= 10^5

輸入陣列長度介於1~十萬之間。

  • points[i].length == 2

每個陣列元素都是一組Pair

  • -2^31 <= xstart < xend <= 2^31 - 1

每顆氣球的左邊界、右邊界介於 32bit整數範圍之內。


演算法 Greedy + 排序

和前一題 排序應用題: 不重複的區間 有異曲同工之妙。


想要讓弓箭的使用數量最精簡,就是用同一支箭去射穿區間有重複的氣球

可以想到先讓所有區間都依終點的大小作排序。

以行動支持創作者!付費即可解鎖
本篇內容共 2452 字、1 則留言,僅發佈於Leetcode精選75題 解析+統整你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
avatar-img
90會員
425內容數
由有業界實戰經驗的演算法工程師, 手把手教你建立解題的框架, 一步步寫出高效、清晰易懂的解題答案。 著重在讓讀者啟發思考、理解演算法,熟悉常見的演算法模板。 深入淺出地介紹題目背後所使用的演算法意義,融會貫通演算法與資料結構的應用。 在幾個經典的題目融入一道題目的多種解法,或者同一招解不同的題目,擴展廣度,並加深印象。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
題目敘述 題目會給定一個輸入陣列intervals,陣列元素都是一組pair, intervals[i] = [starti, endi],分別代表區間的起點,和區間的終點。 請問我們最少要刪除幾個區間,才能讓剩下的區間彼此都不重疊? 題目的原文敘述 測試範例 Example 1:
題目敘述 題目會給我們一個StockSpanner類別, 還有對應的建構子和function: int next( int price)介面。 next(int price)呼叫的時後回傳入當天的股票價格,要求我們計算price這個價格是過去k天以來的最高價,返回k值。 舉例來說: 若股價分
題目會給定一個輸入陣列temperatures ,分別代表每一天的溫度。 請計算每一天還要再過幾天才會遇到更溫暖的日子,如果遇不到,則回填0。 請以陣列的形式返回答案。 題目的原文敘述 約束條件 Constraints: 1 <= temperatures.length <= 10^
題目敘述 給定兩個字串word1和word2,每次操作時,可以有三個選項 插入一個字元 刪除一個字元 替換一個字元 請問把word1轉換成word2的最小操作次數是多少? 題目的原文敘述 約束條件 Constraints: 0 <= word1.length, word2.le
題目敘述 題目會給我們兩種無限量供應的骨牌Domino 和 Tromino,形狀分別如下 題目的輸入會有一個參數n。 可以任意旋轉方向進行拼接,請問最後拼成 2 x n 長方形區域的方法數有幾種? 例如 n = 3 時,拼成2 x 3 的長方形區域有五種方法。 題目的原文敘述
題目敘述 題目會給我們一個大樓陣列heights,裡面分別記錄每一棟大樓的高度。還有參數bricks代表可用的磚塊數目,和 ladders代表可用的伸縮爬梯數目。 一開始從最左邊的大樓頂樓開始出發。 假如下一棟比現在這棟大樓還矮,或者一樣高,則我們可以直接抵達下一棟。 假如下一棟比現在
題目敘述 題目會給定一個輸入陣列intervals,陣列元素都是一組pair, intervals[i] = [starti, endi],分別代表區間的起點,和區間的終點。 請問我們最少要刪除幾個區間,才能讓剩下的區間彼此都不重疊? 題目的原文敘述 測試範例 Example 1:
題目敘述 題目會給我們一個StockSpanner類別, 還有對應的建構子和function: int next( int price)介面。 next(int price)呼叫的時後回傳入當天的股票價格,要求我們計算price這個價格是過去k天以來的最高價,返回k值。 舉例來說: 若股價分
題目會給定一個輸入陣列temperatures ,分別代表每一天的溫度。 請計算每一天還要再過幾天才會遇到更溫暖的日子,如果遇不到,則回填0。 請以陣列的形式返回答案。 題目的原文敘述 約束條件 Constraints: 1 <= temperatures.length <= 10^
題目敘述 給定兩個字串word1和word2,每次操作時,可以有三個選項 插入一個字元 刪除一個字元 替換一個字元 請問把word1轉換成word2的最小操作次數是多少? 題目的原文敘述 約束條件 Constraints: 0 <= word1.length, word2.le
題目敘述 題目會給我們兩種無限量供應的骨牌Domino 和 Tromino,形狀分別如下 題目的輸入會有一個參數n。 可以任意旋轉方向進行拼接,請問最後拼成 2 x n 長方形區域的方法數有幾種? 例如 n = 3 時,拼成2 x 3 的長方形區域有五種方法。 題目的原文敘述
題目敘述 題目會給我們一個大樓陣列heights,裡面分別記錄每一棟大樓的高度。還有參數bricks代表可用的磚塊數目,和 ladders代表可用的伸縮爬梯數目。 一開始從最左邊的大樓頂樓開始出發。 假如下一棟比現在這棟大樓還矮,或者一樣高,則我們可以直接抵達下一棟。 假如下一棟比現在
你可能也想看
Google News 追蹤
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
時間就是金錢,我想這簡短的文字你一定相當清楚,如果能夠讓時間變多,是不是就有機會變得更有錢呢?根據「5%一流人才的超效時間術」指出上班族中有5%的人知道時間有限,也知道如何讓自己在有限的時間下,保持產出的品質,並且提高自己的工作效率。我自己在閱讀前的設定就是理解,這5%一流人才究竟...
Thumbnail
一直以來無論做任何事情,我都以效率高而自豪,沒想到在閱讀到這本書之後卻發現前5%的菁英思維竟然不是以效率為導向,反而致力於鎖定目標並且提升效果,完全翻轉了我過去的思考模式,也引發了我繼續閱讀這本書的好奇心。 作者在書中提到對菁英而言,提升效率只是一種「手段」而非「目的」,這也讓我反思過去在職場總是
Thumbnail
愛上電子書之後,自然會愛上翻頁器,實在太方便了,就算不是捧著閱讀器,按按手指頭便能翻頁。 為了尋找好用的翻頁器,我買了很多款式,第一個翻頁器要用拇指撥動操控鈕,用久了拇指會痛,於是便購買另一款按鍵的翻頁器,因為款式眾多,買了一款不滿意又買另一款,想找出我心目中的完美翻頁器。 我買的翻頁器,有時嫌
Thumbnail
如果讓你公司裡績效最好的5%人才來指導你,會不會更有實戰效果呢? 本書針對21,659 萬名上班族研究對象,藉由AI 分析企業內績效與評價最高的5%菁英員工的工作紀錄,以及透過問卷調查、觀察與訪談,挖掘出這5%菁英的工作方法,發展成其他人也可仿效與學習的工作術。
Thumbnail
我們每天都需要用「文字」與人溝通,但很多時候說了一堆,對方卻沒聽懂。這也是為什麼我要閱讀《Smart Brevity》這本書,學習「用最少的文字,讓讀者瞬間抓到我想傳達的重點」。Smart Brevity 是一種溝通公式,目的是高效率地傳遞資訊。
Thumbnail
網路下單前先放購物車一星期,就可以知道這個東西是真的需要,還是虛榮心作祟。如此避免衝動購物的做法,添購新書同樣適用。 不僅各大購物網站,就連各家網路書還有閱讀器都導入了相似的功能。今天就來分享整合不同閱讀平台「購物車」功能,管理待讀清單,讓閱讀不再只是趕進度,而是充滿樂趣的事情。
Thumbnail
「什麼時候會有訂飲料系統呢?」從加入五倍紅寶石軟體開發到現在已經過了五年,每次都會有人提出來,接下來就不了了之。我們是一間九成以上都是工程師的公司,理論上像這樣的系統不應該那麼困難才對,為什麼就是沒辦法做出來呢?
Thumbnail
從出版(19年6月)到我寫文的現在(20年2月)整整9個月,這本書沒有1個月是沒有上暢銷榜單的,足以可見這本書有長紅。 為什麼這本講習慣的書會這麼紅?為什麼就連我對這種工作成功法類型的書不感興趣的人都拿起來看,看完甚至讚揚不已?
Thumbnail
想從零開始學習德語的人可以來看看我如何制定學習目標喔, 一起努力邁向B2吧!
Thumbnail
*合作聲明與警語: 本文係由國泰世華銀行邀稿。 證券服務係由國泰世華銀行辦理共同行銷證券經紀開戶業務,定期定額(股)服務由國泰綜合證券提供。   剛出社會的時候,很常在各種 Podcast 或 YouTube 甚至是在朋友間聊天,都會聽到各種市場動態、理財話題,像是:聯準會降息或是近期哪些科
Thumbnail
時間就是金錢,我想這簡短的文字你一定相當清楚,如果能夠讓時間變多,是不是就有機會變得更有錢呢?根據「5%一流人才的超效時間術」指出上班族中有5%的人知道時間有限,也知道如何讓自己在有限的時間下,保持產出的品質,並且提高自己的工作效率。我自己在閱讀前的設定就是理解,這5%一流人才究竟...
Thumbnail
一直以來無論做任何事情,我都以效率高而自豪,沒想到在閱讀到這本書之後卻發現前5%的菁英思維竟然不是以效率為導向,反而致力於鎖定目標並且提升效果,完全翻轉了我過去的思考模式,也引發了我繼續閱讀這本書的好奇心。 作者在書中提到對菁英而言,提升效率只是一種「手段」而非「目的」,這也讓我反思過去在職場總是
Thumbnail
愛上電子書之後,自然會愛上翻頁器,實在太方便了,就算不是捧著閱讀器,按按手指頭便能翻頁。 為了尋找好用的翻頁器,我買了很多款式,第一個翻頁器要用拇指撥動操控鈕,用久了拇指會痛,於是便購買另一款按鍵的翻頁器,因為款式眾多,買了一款不滿意又買另一款,想找出我心目中的完美翻頁器。 我買的翻頁器,有時嫌
Thumbnail
如果讓你公司裡績效最好的5%人才來指導你,會不會更有實戰效果呢? 本書針對21,659 萬名上班族研究對象,藉由AI 分析企業內績效與評價最高的5%菁英員工的工作紀錄,以及透過問卷調查、觀察與訪談,挖掘出這5%菁英的工作方法,發展成其他人也可仿效與學習的工作術。
Thumbnail
我們每天都需要用「文字」與人溝通,但很多時候說了一堆,對方卻沒聽懂。這也是為什麼我要閱讀《Smart Brevity》這本書,學習「用最少的文字,讓讀者瞬間抓到我想傳達的重點」。Smart Brevity 是一種溝通公式,目的是高效率地傳遞資訊。
Thumbnail
網路下單前先放購物車一星期,就可以知道這個東西是真的需要,還是虛榮心作祟。如此避免衝動購物的做法,添購新書同樣適用。 不僅各大購物網站,就連各家網路書還有閱讀器都導入了相似的功能。今天就來分享整合不同閱讀平台「購物車」功能,管理待讀清單,讓閱讀不再只是趕進度,而是充滿樂趣的事情。
Thumbnail
「什麼時候會有訂飲料系統呢?」從加入五倍紅寶石軟體開發到現在已經過了五年,每次都會有人提出來,接下來就不了了之。我們是一間九成以上都是工程師的公司,理論上像這樣的系統不應該那麼困難才對,為什麼就是沒辦法做出來呢?
Thumbnail
從出版(19年6月)到我寫文的現在(20年2月)整整9個月,這本書沒有1個月是沒有上暢銷榜單的,足以可見這本書有長紅。 為什麼這本講習慣的書會這麼紅?為什麼就連我對這種工作成功法類型的書不感興趣的人都拿起來看,看完甚至讚揚不已?
Thumbnail
想從零開始學習德語的人可以來看看我如何制定學習目標喔, 一起努力邁向B2吧!