LeetCode、452. 用最少数量的箭引爆气球【中等,贪心,区间问题】

文章目录

前言

博主介绍:✌目前全网粉丝2W+,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技术领域。

涵盖技术内容:Java后端、算法、分布式微服务、中间件、前端、运维、ROS等。

博主所有博客文件目录索引:博客目录索引(持续更新)

视频平台:b站-Coder长路


LeetCode、452. 用最少数量的箭引爆气球【中等,贪心,区间问题】

题目链接与分类

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

分类:贪心/区间问题


思路

贪心,连续区间数量问题

思路:抓住本质区间问题【找到有多少个连续区间】,接着基本都是相同模板扩展处理。

复杂度分析:时间复杂度O(n.logn);空间复杂度O(n)

java 复制代码
class Solution {

    //本质:找到有多少个连续区间
    public int findMinArrowShots(int[][] points) {
        //对区间的右节点排序
        Arrays.sort(points, (o1, o2)->{
            //由于区间范围是从负数开始的,所以这里统一使用<判断
            return o1[1] < o2[1] ? -1 : 1;
        });
        int ans = 1;
        int right = points[0][1];
        for (int i = 1; i < points.length; i ++) {
            int[] point = points[i];
            //无重叠情况计数
            if (point[0] > right) {
                ans ++;
                right = point[1];
            }
        }
        return ans;
    }
}

资料获取

大家点赞、收藏、关注、评论啦~

精彩专栏推荐订阅:在下方专栏👇🏻

更多博客与资料可查看👇🏻获取联系方式👇🏻,🍅文末获取开发资源及更多资源博客获取🍅


整理者:长路 时间:2024.2.13

相关推荐
灵感__idea5 小时前
Hello 算法:贪心的世界
前端·javascript·算法
ZK_H6 小时前
嵌入式c语言——关键字其6
c语言·开发语言·计算机网络·面试·职场和发展
澈2076 小时前
深入浅出C++滑动窗口算法:原理、实现与实战应用详解
数据结构·c++·算法
ambition202426 小时前
从暴力搜索到理论最优:一道任务调度问题的完整算法演进历程
c语言·数据结构·c++·算法·贪心算法·深度优先
cmpxr_6 小时前
【C】原码和补码以及环形坐标取模算法
c语言·开发语言·算法
qiqsevenqiqiqiqi6 小时前
前缀和差分
算法·图论
代码旅人ing6 小时前
链表算法刷题指南
数据结构·算法·链表
Yungoal7 小时前
常见 时间复杂度计算
c++·算法
6Hzlia7 小时前
【Hot 100 刷题计划】 LeetCode 48. 旋转图像 | C++ 矩阵变换题解
c++·leetcode·矩阵
不爱吃炸鸡柳8 小时前
单链表专题(完整代码版)
数据结构·算法·链表