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

在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以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(int[][] points) {/** 贪心法, 每个气球只少需要一支箭, 先按照右端点排序, 然后每次从最小的右端点射出一支箭, 去掉被射爆的气球, 重复该过程. **/if(points.length < 1) return 0;Arrays.sort(points, (a, b) -> (a[1] - b[1]));int count = 1;int axis = points[0][1];for(int i = 1; i < points.length; ++i) {if(axis < points[i][0]) {count++;axis = points[i][1];}}return count;}
}

Java实现 LeetCode 452 用最少数量的箭引爆气球相关推荐

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

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

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

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

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

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

  4. 2022-4-12 Leetcode 452.用最少数量的箭引爆气球

    找到最长的重叠区间 // class Solution {// public: // int findMinArrowShots(vector<vector<int>>& ...

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

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

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

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

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

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

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

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

  9. leetcode 452. Minimum Number of Arrows to Burst Balloons | 452. 用最少数量的箭引爆气球(左程云:最大线段重合问题)

    题目 https://leetcode.com/problems/minimum-number-of-arrows-to-burst-balloons/ 题解 重叠区间问题可以总结为在坐标轴上若干个位 ...

最新文章

  1. HDU - 3126 Nova(最大流+二分+简单几何)
  2. CCF NOI1144 众数
  3. Ruby常用比较操作符
  4. 搜索 —— 启发式搜索 —— 爬山法
  5. php项目数据库控制器代码_如何为大型代码库组织Express控制器
  6. Android 系统性能优化(53)---功耗优化battery-historian V2.0的数据获取
  7. bread是可数还是不可数_为什么英语里的面包bread是不可数名词?听老师给你讲语法,一听就明白了...
  8. 手动释放linux服务器内存
  9. Java 实现 RSA 非对称加密算法-加解密和签名验签
  10. jsp el 表达式_JSP表达式语言– JSP EL示例教程
  11. css之div兼容性问题
  12. 2级c语言程序设计无忧考试,全国计算机二级c语言考试真题
  13. 2019年末逆向复习系列之从猫眼字体反爬分析谈谈字体反爬的前世今生
  14. 浏览器中在线预览pdf文件(不使用插件)
  15. 幅频特性和相频特性的物理意义
  16. ps 毛发 边缘,抠图技巧,抠图后头发边缘的颜色怎处理
  17. 张家界四日自助游攻略及心得
  18. 【数据库学习笔记】Day03 - SQL语言基础及数据库定义功能
  19. 代码托管和服务功能多元化,看码客帮如何做软件众包
  20. CodeForces 858C Did you mean... 、 CodeForces 858D Polycarp's phone book!黑科技

热门文章

  1. java之yield(),sleep(),wait()区别详解-备忘笔记[转]
  2. 别再吃各种维生素C片了,这6种维生素C含量最高的水果
  3. Windows10环境下JDK环境变量配置
  4. linux chmod 755 ,750,777设置原理
  5. Assetbundle打包及加载入门详解(二)
  6. 016 可接任务遍历(链表+二叉树)
  7. 关于flask入门教程-ajax+echarts实现地图GDP展示
  8. 机器学习(八):nba数据分析小案例
  9. java file 相对路径 根目录修改_java中使用相对路径读取文件的写法总结 ,以及getResourceAsStream() (转)...
  10. 5G NR PDCCH DCI