[力扣题解]452. 用最少数量的箭引爆气球

题目:452. 用最少数量的箭引爆气球

思路

贪心法

希望尽可能射爆叠在一起的气球;

以气球的左边界进行升序排序,再从左到右遍历,遇到有重叠的气球,则让当前气球的有边界与上一个气球的右边界对齐(min操作);

代码

cpp 复制代码
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;
    }
};
相关推荐
NAGNIP2 小时前
轻松搞懂全连接神经网络结构!
人工智能·算法·面试
NAGNIP2 小时前
一文搞懂激活函数!
算法·面试
董董灿是个攻城狮2 小时前
AI 视觉连载7:传统 CV 之高斯滤波实战
算法
爱理财的程序媛8 小时前
openclaw 盯盘实践
算法
MobotStone12 小时前
Google发布Nano Banana 2:更快更便宜,图片生成能力全面升级
算法
颜酱15 小时前
队列练习系列:从基础到进阶的完整实现
javascript·后端·算法
用户57573033462415 小时前
两数之和:从 JSON 对象到 Map,大厂面试官到底在考察什么?
算法
程序猿追15 小时前
“马”上行动:手把手教你基于灵珠平台打造春节“全能数字管家”
算法
ZPC82101 天前
docker 镜像备份
人工智能·算法·fpga开发·机器人