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

相关推荐
We་ct6 小时前
LeetCode 30. 串联所有单词的子串:从暴力到高效,滑动窗口优化详解
前端·算法·leetcode·typescript
-Try hard-6 小时前
数据结构|概念及单向有头链表
数据结构·算法·vim
历程里程碑7 小时前
子串----和为K的子数组
大数据·python·算法·leetcode·elasticsearch·搜索引擎·哈希算法
Aaron15887 小时前
通信灵敏度计算与雷达灵敏度计算对比分析
网络·人工智能·深度学习·算法·fpga开发·信息与通信·信号处理
2301_790300967 小时前
C++中的命令模式
开发语言·c++·算法
2301_822376947 小时前
C++中的解释器模式
开发语言·c++·算法
xhbaitxl7 小时前
算法学习day31-贪心算法
学习·算法·贪心算法
爱学习的阿磊7 小时前
C++代码冗余消除
开发语言·c++·算法
YuTaoShao7 小时前
【LeetCode 每日一题】2976. 转换字符串的最小成本 I
算法·leetcode·职场和发展
蒟蒻的贤7 小时前
滑动窗口策略
算法