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();
    }
}
相关推荐
dialect_3 小时前
KMP算法
开发语言·c++·算法
reikocao3 小时前
卡尔曼滤波的动态机制:P如何改变融合权重
算法
漂流瓶jz4 小时前
UVA-1612 猜名次 题解答案代码 算法竞赛入门经典第二版
数据结构·算法·题解·排序·aoapc·算法竞赛入门经典
夕除4 小时前
Redis 过期策略
redis·笔记·面试
吞下星星的少年·-·4 小时前
Div.2 CF 1130B题(构造,贪心)
算法·贪心·构造
文丑颜不良啊4 小时前
LeetCode1481~1500题目解析
java·leetcode
文丑颜不良啊5 小时前
LeetCode1381~1400题目解析
java·leetcode
是main不是漫5 小时前
【双指针——移动零】数组划分类题目的入门基石
c++·算法
深圳市快瞳科技有限公司6 小时前
野外鸟类AI识别落地实录:输入适配、结构化输出、去重聚合与置信度分流的工程实践
算法·计算机视觉·鸟类识别·鸟类ai识别·野外鸟类观测·林业调查
时间的拾荒人7 小时前
CMake 常用命令详解:从版本声明到安装部署
c++·面试