day29(12.9)——leetcode面试经典150

452. 用最少数量的箭引爆气球

452. 用最少数量的箭引爆气球

这几题感觉都大差不差,写的很顺利,心情好了,继续备考六级

题目:

题解:

java 复制代码
class Solution {
    public int findMinArrowShots(int[][] points) {
        //将二维数组进行排序
        Arrays.sort(points, Comparator.comparingInt(p->p[0]));
        //创建一个新的集合
        List<int[]> list = new ArrayList<>();
        //获取二维数组的第一个元素的xstart,xend
        int x1 = points[0][0];
        int x2 = points[0][1];
        //遍历数组中的所有元素
        for(int i=1;i<points.length;i++) {
            //如果当前元素的xstart要>=x1,同时xstart要<=x2,更新x1
            if(points[i][0]>=x1&&points[i][0]<=x2) {
                x1 = points[i][0];
                //如果当前元素的xend要<x2,更新x2
                if(points[i][1]<x2) {
                    x2 = points[i][1];
                }
            }
            //如果当前元素xstart要>x1
            else if(points[i][0]>x1) {
                //将当前的x1,x2加入集合中
                list.add(new int[]{x1,x2});
                //进行更新x1,x2
                x1 = points[i][0];
                x2 = points[i][1];
            }
        }
        //将最后得到的x1,x2加入集合中
        list.add(new int[]{x1,x2});
        //进行返回集合的个数
        return list.size();
    }
}
相关推荐
董董灿是个攻城狮2 小时前
AI视觉连载8:传统 CV 之边缘检测
算法
哈里谢顿3 小时前
1000台裸金属并发创建中的重难点问题分析
面试
哈里谢顿3 小时前
20260303面试总结(全栈)
面试
over6978 小时前
从 LLM 到全栈 Agent:MCP 协议 × RAG 技术如何重构 AI 的“做事能力”
面试·llm·mcp
SuperEugene9 小时前
Vue状态管理扫盲篇:如何设计一个合理的全局状态树 | 用户、权限、字典、布局配置
前端·vue.js·面试
AI软著研究员9 小时前
程序员必看:软著不是“面子工程”,是代码的“法律保险”
算法
FunnySaltyFish10 小时前
什么?Compose 把 GapBuffer 换成了 LinkBuffer?
算法·kotlin·android jetpack
颜酱11 小时前
理解二叉树最近公共祖先(LCA):从基础到变种解析
javascript·后端·算法
Sailing11 小时前
🚀 别再乱写 16px 了!CSS 单位体系已经进入“计算时代”,真正的响应式布局
前端·css·面试
SuperEugene13 小时前
Vue状态管理扫盲篇:Vuex 到 Pinia | 为什么大家都在迁移?核心用法对比
前端·vue.js·面试