#include <iostream>
#include <vector>
#include <algorithm>
using std::vector;
using namespace std;
class Solution
{
public:
int findMinArrowShots(vector<vector<int>>& points);
};
int Solution::findMinArrowShots(vector<vector<int>>& points)
{
if(points.size() == 0)
return 0;
sort(points.begin(), points.end(), [](const vector<int> &x, const vector<int> &y){return x[1] < y[1];});
int num = 0;
int arrow = points[0][1];
for(vector<int> point : points)
{
if(point[0] > arrow)
{
num++;
arrow = point[1];
}
}
return ++num;
}
int main()
{
vector<vector<int>> vec{{10, 16}, {2, 8}, {1, 6}, {7, 12}};
Solution solution;
int num = solution.findMinArrowShots(vec);
cout << num << endl;
return 0;
}
力扣 #452 用最少数量的箭引爆气球(排序+贪婪) 笔记
最新推荐文章于 2021-04-20 21:49:18 发布