LeetCode 435. 无重叠区间(贪心/动态规划)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 435. 无重叠区间(贪心/动态规划)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
- 2.1 貪心
- 2.2 動態(tài)規(guī)劃
1. 題目
給定一個區(qū)間的集合,找到需要移除區(qū)間的最小數(shù)量,使剩余區(qū)間互不重疊。
注意:
可以認為區(qū)間的終點總是大于它的起點。
區(qū)間 [1,2] 和 [2,3] 的邊界相互“接觸”,但沒有相互重疊。
來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/non-overlapping-intervals
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
2. 解題
2.1 貪心
- 按照結(jié)束位置升序排序
- 找到 滿足prev[end] <= next[start]的下一個,更新prev為next
- 尋找下一個next,這些找到的是無重疊的最長的區(qū)間長度
2.2 動態(tài)規(guī)劃
- 按照區(qū)間的起點位置升序排序
- 然后狀態(tài)方程 dp[i]=max(dp[i],dp[j]+1),ifprev[j][1]<=cur[i][0]dp[i] = max(dp[i], dp[j]+1), if \quad prev[j][1] <= cur[i][0]dp[i]=max(dp[i],dp[j]+1),ifprev[j][1]<=cur[i][0]
168 ms 25.3 MB
總結(jié)
以上是生活随笔為你收集整理的LeetCode 435. 无重叠区间(贪心/动态规划)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1465. 切割后面积
- 下一篇: 程序员面试金典 - 面试题 08.13.