給定乙個區間的集合,找到需要移除區間的最小數量,使剩餘區間互不重疊。注意:可以認為區間的終點總是大於它的起點。
區間 [1,2] 和 [2,3] 的邊界相互「接觸」,但沒有相互重疊。
示例 1:
輸入: [ [1,2], [2,3], [3,4], [1,3] ]輸出: 1
解釋: 移除 [1,3] 後,剩下的區間沒有重疊。
示例 2:
輸入: [ [1,2], [1,2], [1,2] ]輸出: 2
解釋: 你需要移除兩個 [1,2] 來使剩下的區間沒有重疊。
示例 3:
輸入: [ [1,2], [2,3] ]基本思路:最長上公升序列問題,該問題等價於《選出最多數量的區間,使它們互不重疊》,展開來講就是如果將其按照左(右)端點從小到大排序,選取最長上公升序列問題,保證當前區間的左端點大於等於前乙個區間的右端點輸出: 0
解釋: 你不需要移除任何區間,因為它們已經是無重疊的了。
int eraseoverlapintervals(vector>& intervals)
}maxlen=max(maxlen,dp[i]);
}return intervals.size()-maxlen;
}
基本思路:貪心演算法,首先是按照右端點從小到大排序,然後依次選取不重疊的最小右端點。
int eraseoverlapintervals(vector>& intervals)
}return len-cnt;
}
類似題目: 435 無重疊區間
題目描述 給定乙個區間的集合,找到需要移除區間的最小數量,使剩餘區間互不重疊。注意 可以認為區間的終點總是大於它的起點。區間 1,2 和 2,3 的邊界相互 接觸 但沒有相互重疊。示例 1 輸入 1,2 2,3 3,4 1,3 輸出 1 解釋 移除 1,3 後,剩下的區間沒有重疊。示例 2 輸入 1...
435 無重疊區間
給定乙個區間的集合,找到需要移除區間的最小數量,使剩餘區間互不重疊。注意 1.可以認為區間的終點總是大於它的起點。2.區間 1,2 和 2,3 的邊界相互 接觸 但沒有相互重疊。示例 1 輸入 1,2 2,3 3,4 1,3 輸出 1 解釋 移除 1,3 後,剩下的區間沒有重疊。示例 2 輸入 1,...
435 無重疊區間
435.無重疊區間 描述 給定乙個區間的集合,找到需要移除區間的最小數量,使剩餘區間互不重疊。注意 可以認為區間的終點總是大於它的起點。區間 1,2 和 2,3 的邊界相互 接觸 但沒有相互重疊。示例 1 輸入 1,2 2,3 3,4 1,3 輸出 1 解釋 移除 1,3 後,剩下的區間沒有重疊。示...