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

相关推荐
8Qi88 小时前
LeetCode 75:颜色分类(荷兰国旗问题)—— Java 题解 ✅
java·算法·leetcode·指针·排序
888CC++10 小时前
如何在 C 语言中进行程序调试?
前端·javascript·算法
(●—●)橘子……11 小时前
力扣第503场周赛练习理解
python·学习·算法·leetcode·职场和发展·周赛
明志数科13 小时前
4D时序标注技术详解:让机器人理解连续动作的数据基础
java·算法·机器人
KaMeidebaby13 小时前
卡梅德生物技术快报|原核表达系统工艺优化:包涵体重折叠 + 分子筛纯化实现功能 RBD 高效制备,附全参数配置
前端·人工智能·算法·数据挖掘·数据分析
无限码力13 小时前
携程0510笔试真题【单数组交换】
算法·携程笔试·携程笔试真题·携程0510笔试真题
BlockWay14 小时前
WEEX Labs 周度观察:微软-OpenAI 合作调整与AI 多云趋势
大数据·人工智能·算法·安全·microsoft
风筝在晴天搁浅14 小时前
快手 CodeTop LeetCode 224.基本计算器
数据结构·算法·leetcode
Smoothcloud润云14 小时前
5大功能精修,重构AI算力使用体验!
java·人工智能·windows·算法·重构·编辑器·sublime text