在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以y坐标并不重要,因此只要知道开始和结束的x坐标就足够了。开始坐标总是小于结束坐标。平面内最多存在104个气球。

一支弓箭可以沿着x轴从不同点完全垂直地射出。在坐标x处射出一支箭,若有一个气球的直径的开始和结束坐标为 xstart,xend, 且满足  xstart ≤ x ≤ xend,则该气球会被引爆。可以射出的弓箭的数量没有限制。 弓箭一旦被射出之后,可以无限地前进。我们想找到使得所有气球全部被引爆,所需的弓箭的最小数量。

Example:

输入:
[[10,16], [2,8], [1,6], [7,12]]输出:
2解释:
对于该样例,我们可以在x = 6(射爆[2,8],[1,6]两个气球)和 x = 11(射爆另外两个气球)。

class Solution {
public:
    int findMinArrowShots(vector<pair<int, int>>& points) {
        if (points.empty()) return 0;
        sort(points.begin(), points.end());
        int res = 1, end = points[0].second;
        for (int i = 1; i < points.size(); ++i) {
            if (points[i].first <= end) {
                end = min(end, points[i].second);
            } else {
                ++res;
                end = points[i].second;
            }
        }
        return res;
    }
};

452.用最少数量的箭引爆气球相关推荐

  1. Suzy想吃烤蛋挞了Day35 | 贪心算法进行时:860. 柠檬水找零,406. 根据身高重建队列,452. 用最少数量的箭引爆气球

    860. 柠檬水找零 solution 不要漏掉的一种情况是:如果收到了20,可以找10+5,或者5+5+5 class Solution:def lemonadeChange(self, bills ...

  2. 代码随想录35——贪心:860柠檬水找零、406根据身高重建队列、452用最少数量的箭引爆气球

    文章目录 1.860柠檬水找零 1.1.题目 1.2.解答 2.406根据身高重建队列 2.1.题目 2.2.解答 3.452用最少数量的箭引爆气球 3.1.题目 3.2.解答 1.860柠檬水找零 ...

  3. 力扣记录:贪心算法3较难(1)区间问题——55 跳跃游戏,45 跳跃游戏II,452 用最少数量的箭引爆气球,435 无重叠区间,763 划分字母区间,56 合并区间

    本次题目 55 跳跃游戏 45 跳跃游戏II 452 用最少数量的箭引爆气球 435 无重叠区间 763 划分字母区间 56 合并区间 55 跳跃游戏 局部最优:不管每次跳多少步,取最大跳跃步数,若覆 ...

  4. Java实现 LeetCode 452 用最少数量的箭引爆气球

    452. 用最少数量的箭引爆气球 在二维空间中有许多球形的气球.对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标.由于它是水平的,所以y坐标并不重要,因此只要知道开始和结束的x坐标就足够 ...

  5. 代码随想录算法训练营第35天|860.柠檬水找零,406.根据身高重建队列,452. 用最少数量的箭引爆气球

    代码随想录算法训练营第35天|860.柠檬水找零,406.根据身高重建队列,452. 用最少数量的箭引爆气球 860.柠檬水找零 406. 根据身高重建队列 452. 用最少数量的箭引爆气球 860. ...

  6. 贪心法—LeetCode 452 用最少数量的箭引爆气球

    用最少数量的箭引爆气球 题目: 在二维空间中有许多球形的气球.对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标.由于它是水平的,所以y坐标并不重要,因此只要知道开始和结束的x坐标就足够了 ...

  7. 452. 用最少数量的箭引爆气球(贪心算法+思路+详解)07

    一:题目 在二维空间中有许多球形的气球.对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标.由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了.开始坐标总是小于结束 ...

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

    题目描述 在二维空间中有许多球形的气球.对于每个气球,提供的输入是水平方向上,气球直径的开 始和结束坐标.由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标 就足够了.开始坐标总是小于 ...

  9. leetcode 452. 用最少数量的箭引爆气球(贪心算法)

    在二维空间中有许多球形的气球.对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标.由于它是水平的,所以纵坐标并不重要,因此只要知道开始和结束的横坐标就足够了.开始坐标总是小于结束坐标. 一 ...

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

    在二维空间中有许多球形的气球.对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标.由于它是水平的,所以y坐标并不重要,因此只要知道开始和结束的x坐标就足够了.开始坐标总是小于结束坐标.平面 ...

最新文章

  1. SAP QM启用了Physical Sample Management后检验批有哪些特殊地方?
  2. 介绍一款开源的类Excel电子表格软件
  3. element 0 of tensors does not require grad and does not have a grad_fn
  4. 保定理工学院专科计算机专业分数线,保定理工学院历年分数线 2021保定理工学院录取分数线...
  5. 什么时候用到全排列_请问在排列组合中,在什么情况下要乘以全排列
  6. linux deploy 版本,Linux Deploy
  7. 《Nature》上给青年科研工作者的几条忠告 (转载)
  8. ci框架 反向代理配置_《网站建设》Nginx配置反向代理
  9. 2016年深圳市宝安区小一学位申请流程及时间安排
  10. SpringBoot 定义通过字段验证
  11. 【net】音乐播放器
  12. UE5实现HTC Vive VR功能
  13. 泛微OA主表与明细表的js操作
  14. 卓有成效的管理者—第一章 卓有成效是可以学会的
  15. 乐高魔方机器人编程及图纸_LEGO 机器人魔方还原基本方法与过程
  16. vue怎么在地址栏隐藏路由
  17. AddressBook 相关操作小计
  18. LeetCode 1128.等价多米诺骨牌
  19. CTF-杂项与密码学总结
  20. 【转】Matlab坐标修改及旋转

热门文章

  1. 【转】JQuery中$.each 和$(selector).each()的区别详解
  2. div覆盖在dropdownlist之上的方法
  3. PWA登陆iOS了,但它还有这些缺陷
  4. 学习shell的第三天
  5. 关于nagios监控系统添加主机和服务脚本
  6. eclipse报错Server Tomcat v7.0 Server at localhost failed to start.
  7. 云电脑搭配量子计算机,量子计算机和量子模拟器
  8. 小米6 twrp_小米手机刷国际版欧版 MIUI 的详细教程
  9. java人员工作建议_给JAVA设计开发新手的一些建议和意见(1)
  10. python lxml 模块_Python lxml模块安装教程