题目描述
解题思路:这题与435. Non-overlapping Intervals类似,但是本题是求最小的共同重叠数。
所以方法类似,只是得一直与第一个重叠的区间比较,没有和他重叠才更新prev。
解题过程中出现的问题:
- 想着跳出循环后再判断最后一个区间的情况,最后发现不需要。
class Solution {
public:
int findMinArrowShots(vector<vector<int>>& points) {
int ans = 1,n = points.size(), prev;
sort(points.begin(), points.end(), [](vector<int>& a, vector<int>& b){
return a[1]<b[1];
});
prev = points[0][1];
for(int i = 1; i < n; ++i){
if(points[i][0] > prev){
ans++;
prev = points[i][1];
}
}
return ans;
}
};