本文主要是介绍[力扣题解]452. 用最少数量的箭引爆气球,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:452. 用最少数量的箭引爆气球
思路
贪心法
希望尽可能射爆叠在一起的气球;
以气球的左边界进行升序排序,再从左到右遍历,遇到有重叠的气球,则让当前气球的有边界与上一个气球的右边界对齐(min
操作);
代码
class Solution {
private:static bool compare(vector<int> a, vector<int> b){return a[0] < b[0];}public:int findMinArrowShots(vector<vector<int>>& points) {int result = 1, i;if(points.size() == 1){return 1;}sort(points.begin(), points.end(), compare);for(i = 1; i < points.size(); i++){if(points[i][0] > points[i-1][1]){result++;}else{points[i][1] = min(points[i][1], points[i-1][1]);}}return result;}
};
这篇关于[力扣题解]452. 用最少数量的箭引爆气球的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!