生活随笔
收集整理的這篇文章主要介紹了
435-无重叠区间
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
問題
給定一組區(qū)間,找出沒有重疊區(qū)間最多的區(qū)間個(gè)數(shù)。
思路[谷歌高暢力扣刷題筆記]
貪心算法,貪心策略是優(yōu)先保留結(jié)尾小且不相交的區(qū)間。
首先根據(jù)右邊界升序排序,然后依次比較左邊界和前面的右邊界:沒有重疊就是滿足條件的區(qū)間,有重疊就更新右邊界。
代碼
int eraseOverlapIntervals(vector
<vector
<int>>& intervals
) {if(intervals
.empty()) { return 0;}int n
= intervals
.size();sort(intervals
.begin(), intervals
.end(), [](vector
<int>& a
, vector
<int>& b
) { return a
[1] < b
[1];});int cnt
=0, prev
=intervals
[0][1]; for(int i
=1; i
<n
; i
++) {if(intervals
[i
][0] < prev
) { cnt
++;} else { prev
= intervals
[i
][1];}}return cnt
;}
總結(jié)
以上是生活随笔為你收集整理的435-无重叠区间的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。