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

相关推荐
LYFlied8 小时前
【每日算法】LeetCode 153. 寻找旋转排序数组中的最小值
数据结构·算法·leetcode·面试·职场和发展
唐装鼠8 小时前
rust自动调用Deref(deepseek)
开发语言·算法·rust
ytttr8739 小时前
MATLAB基于LDA的人脸识别算法实现(ORL数据库)
数据库·算法·matlab
jianfeng_zhu10 小时前
整数数组匹配
数据结构·c++·算法
smj2302_7968265210 小时前
解决leetcode第3782题交替删除操作后最后剩下的整数
python·算法·leetcode
LYFlied11 小时前
【每日算法】LeetCode 136. 只出现一次的数字
前端·算法·leetcode·面试·职场和发展
唯唯qwe-12 小时前
Day23:动态规划 | 爬楼梯,不同路径,拆分
算法·leetcode·动态规划
做科研的周师兄12 小时前
中国土壤有机质数据集
人工智能·算法·机器学习·分类·数据挖掘
来深圳12 小时前
leetcode 739. 每日温度
java·算法·leetcode
LYFlied12 小时前
WebAssembly (Wasm) 跨端方案深度解析
前端·职场和发展·wasm·跨端