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

该博客介绍了一个使用贪心算法解决的编程问题,即如何找到最少数量的箭来引爆所有气球。文章详细阐述了将所有气球区间按右端点升序排序,并依次选取右端点进行射击的策略,从而达到最小箭数。解决方案中包含了一个C++实现的示例,展示了如何找出最少箭数的方法。
摘要由CSDN通过智能技术生成

原题链接:452. 用最少数量的箭引爆气球

 

solution:
        贪心策略:将所有区间按右端点从小到大进行排序,每次选择区间的右端点进行射击。

 

class Solution {
public:
    int findMinArrowShots(vector<vector<int>>& points) {
        int n = points.size();
        sort(points.begin(),points.end(),[](const vector<int> &a, const vector<int> &b){
            return a[1] < b[1];
        });
        int res = 1,ed = points[0][1];
        for(int i = 1;i < n;i++) {
            if(points[i][0] > ed) {
                res++;
                ed = points[i][1];
            }
        }

        return res;
    }
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值