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

leetcode[452] Minimum Number of Arrows to Burst Balloons

程序员文章站 2022-06-03 14:42:06
...

问题:

leetcode[452] Minimum Number of Arrows to Burst Balloons

输入:气球坐标

输出:射箭数

思路:贪心规则

先以左边坐标对气球进行排序,然后,从最后一个气球开始,每次将箭放在左边坐标,将能够射掉的气球从数组中删除,直到气球全被射掉。

代码:

class Solution {
public:
    int findMinArrowShots(vector<vector<int>>& points) {
        sort(points.begin(),points.end());
        int sorts=0;
        int n=points.size();
        int i=n-1;
        while(i>=0)
        {
            sorts++;
            int sort=points[i][0];
            while(i>0&&points[i-1][1]>=sort)
            {
                i--;
            }
            --i;
        }
        return sorts;
    }
};

复杂度分析:时间复杂度为O(nlogn),空间复杂度为O(1).

相关标签: Leetcode___greedy