預計閱讀時間:3 分鐘上篇文章 貪心算法之區間調度問題 用貪心算法解決了區間調度問題:給你很多區間,讓你求其中的最大不重疊子集。 其實對于區間相關的問題,還有很多其他類型,本文就來講講區間合并問題(Merge Interval)。LeetCode 第 56 題就是一道相關問題,題目很好理解: 我們解決區間問題的一般思路是先排序,然后觀察規律。 一、思路一個區間可以表示為 顯然,對于幾個相交區間合并后的結果區間 由于已經排了序, int max_ele = arr[0]; 二、代碼看下動畫就一目了然了: 至此,區間合并問題就解決了。本文篇幅短小,因為區間合并只是區間問題的一個類型,后續還有一些區間問題。本想把所有問題類型都總結在一篇文章,但有讀者反應,長文只會收藏不會看… 所以還是分成小短文吧,歡迎留言寫下你的看法。 |
|