452. 用最少数量的箭引爆气球
链接地址
class Solution {
private:static bool cmp(const vector<int>& a, const vector<int>& b) {return a[0] < b[0];//从小到大排序}
public:int findMinArrowShots(vector<vector<int>>& points) {if (points.size() == 0) return 0;sort(points.begin(), points.end(), cmp);int result = 1;for (int i = 1; i < points.size(); i++) {if (points[i - 1][1] < points[i][0]) {result++;} else {points[i][1] = min(points[i - 1][1], points[i][1]);//更新point[i]}}return result;}
};
435. 无重叠区间
链接地址
class Solution {
private:static bool cmp(const vector<int>& a, const vector<int>& b) {return a[0] < b[0];}
public:int eraseOverlapIntervals(vector<vector<int>>& intervals) {if (intervals.size() == 0) return 0;sort(intervals.begin(), intervals.end(), cmp);int result = 0;for (int i = 1; i < intervals.size(); i++) {if (intervals[i - 1][1] > intervals[i][0]) {result++;intervals[i][1] = min(intervals[i - 1][1], intervals[i][1]);}}return result;}
};
763.划分字母区间
链接地址
class Solution {
private:static bool cmp(const vector<int>& a, const vector<int>& b) {return a[0] < b[0];}
public:int eraseOverlapIntervals(vector<vector<int>>& intervals) {if (intervals.size() == 0) return 0;sort(intervals.begin(), intervals.end(), cmp);int result = 0;for (int i = 1; i < intervals.size(); i++) {if (intervals[i - 1][1] > intervals[i][0]) {result++;intervals[i][1] = min(intervals[i - 1][1], intervals[i][1]);}}return result;}
};