当前位置: 首页 > article >正文

算法-最少箭引爆气球(贪心+区间)

leetcode题目链接

这道题思路很简单,就是一个贪心,甚至都不需要合并区间。

开始需要对气球的结束坐标排序一下,然后定义一个end指向当前箭的最远位置。

然后开始遍历数组,如果出现区间起始位置比end大,则说明需要再加一只箭。

最后返回弓箭数量。

代码如下:

public int findMinArrowShots(int[][] points) {
        if (points == null || points.length == 0) {
            return 0;
        }

       // 按气球的结束坐标进行排序
        Arrays.sort(points,(a,b)->Integer.compare(a[1],b[1]));

        int arrows = 1; // 至少需要一支箭
        int end = points[0][1]; // 当前箭能引爆的最远位置

        for(int [] point : points) {
            int start = point[0];
            if(start > end) {
                arrows++;
                end= point[1];
            }
        }

        return arrows;
    }


http://www.kler.cn/a/304898.html

相关文章:

  • 金价大跌,特朗普胜选或成导火索
  • 【CSS】“flex: 1“有什么用?
  • vscode下nuget包的本地引入方法
  • 【LeetCode】【算法】19. 删除链表的倒数第N个结点
  • 用户裂变数据分析
  • nuxt3添加wowjs动效
  • oracle停止当前运行的JOB或kill会话
  • Python图像处理——计算机视觉中常用的图像预处理
  • Conda新建虚拟环境,安装包一直失败:000和404错误
  • RabbitMQ 基础入门
  • 【python爬虫】之scrapy框架介绍
  • yolo自动化项目实例解析(一)日志格式输出、并发异步多线程、websocket、循环截图、yolo推理、3d寻路
  • 一天认识一个硬件之光纤
  • flink中chainWith() 的详解
  • 【Prompt Engineering:自我一致性、生成知识提示、链式提示】
  • Qt之OpenCv 灰度处理、均值滤波、边缘检测学习
  • 端口大全说明,HTTP,TCP,UDP常见端口对照表
  • Go语言现代web开发07 map字典
  • Eclipse 悬浮提示:提高编程效率的利器
  • Android NDK工具
  • BFS迷宫最小路径问题
  • 【人工智能】OpenAI发布GPT-o1模型:推理能力的革命性突破,这将再次刷新编程领域的格局!
  • 二叉树(上)
  • 定时中断键盘灯闪烁
  • P2865 [USACO06NOV] Roadblocks G
  • C#使用TCP-S7协议读写西门子PLC(五)-测试程序