欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-08 23:54:23
...

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

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

题解:

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

class Solution {
    public:
    int findMinArrowShots(vector<vector<int>>& points) {
        if(points.size() <= 0) {
            return 0;
        }
        const auto& cmp = [](const vector<int>& v1, const vector<int>& v2) {
            return v1[1] < v2[1];
        };
        //按照右边界从小到大排序
        sort(points.begin(), points.end(), cmp);
        int i = 0;
        int cnt = 0;
        for(; i < points.size();) {
            // 取得需要比较的右边界
            int cmp = points[i][1];
            ++i;
            for(; i < points.size();) {
                // 判断左边界是否小于cmp,表示都可以在一次引爆
                if(points[i][0] <= cmp) {
                    ++i;
                } else {
                    break;
                }
            }
            // 增加数量
            ++cnt;
        }
        return cnt;
    }
};

 

相关标签: leetcode