按照右端点排序
贪心选择右端点作为划分点
class Solution {
public:
static bool cmp(vector<int> a, vector<int> b){
return a[1] < b[1];
}
int findMinArrowShots(vector<vector<int>>& points) {
sort(points.begin(), points.end(), cmp);
int res = 0, r = INT_MIN;
if(points.size() >= 1 && points[0][0] == INT_MIN) res++;
for(auto p: points){
if(p[0] > r){
res++;
r = p[1];
}
}
return res;
}
};