435. Non-overlapping Intervals
題目網址:https://leetcode.cn/problems/non-overlapping-intervals/
題意:給一區間集合
intervals
, 其中intervals[i] = [start_i, end_i]
, 返回需要移除的最小區間個數, 使得剩下的區間互不重疊。
Solution:
想法:首先, 先將
intervals
做排序, 然後紀錄前一天的end
, 當有兩天start
相同時,end
會取較小的那一個, 這樣才能最大化避免重疊以下圖為例, sorting 後的
intervals = [[1,2], [1,3], [2,3], [3,4]
, 最一開始[1,2]
和[1,3]
我們會選擇捨棄[1,3]
, 因為[1,2]
的end
較小, 若保留[1,3]
則會和後面的[2,3]
重疊
class Solution { |
- time:$O(n \cdot log(n))$ ➔ sorting
- space:$O(1)$ ➔ 只需常數空間
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 Zako's Blog!
評論