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

相关推荐
npupengsir10 分钟前
nano vllm代码详解
人工智能·算法·vllm
m0_5698814713 分钟前
C++中的组合模式高级应用
开发语言·c++·算法
m0_7301151118 分钟前
高性能计算负载均衡
开发语言·c++·算法
灰色小旋风25 分钟前
力扣19删除链表的倒数第N个结点(C++)
c++·算法·leetcode·链表
孞㐑¥26 分钟前
算法—记忆化搜索
开发语言·c++·经验分享·笔记·算法
二进制星轨26 分钟前
leecode-70-颜色分类-算法题解
数据结构·算法·排序算法
xushichao198927 分钟前
代码覆盖率工具实战
开发语言·c++·算法
2401_8579182928 分钟前
C++与WebAssembly集成
开发语言·c++·算法
2401_8796938729 分钟前
C++与微服务架构
开发语言·c++·算法
2501_908329851 小时前
C++中的装饰器模式实战
开发语言·c++·算法