435. 无重叠区间

 1 class Solution 
 2 {
 3 public:
 4     int eraseOverlapIntervals(vector<vector<int>>& intervals) 
 5     {
 6         if(intervals.empty() || intervals[0].empty()) return 0;
 7         sort(intervals.begin(),intervals.end());
 8 
 9         int begin = intervals[0][0],end = intervals[0][1];
10         int count = 0;
11         for(int i = 1;i < intervals.size();i ++)
12         {
13             if(intervals[i][1] < end) 
14             {
15                 begin = intervals[i][0];
16                 end = intervals[i][1];
17                 count ++;
18             }
19             else if(intervals[i][1] >= end && intervals[i][0] < end)
20             {
21                 begin = intervals[i][0];
22                 count ++;
23             } //区间[1,2]和[2,3]的边界相互“接触”,但没有相互重叠
24             else if(intervals[i][0] >= end)
25             {
26                 begin = intervals[i][0];
27                 end = intervals[i][1];
28             }
29         }
30         return count;
31     }
32 };

 

posted @ 2020-05-06 14:15  Jinxiaobo0509  阅读(161)  评论(0)    收藏  举报