AC Leetcode-56 合并区间

简介: AC Leetcode-56 合并区间

56. 合并区间

解题思路

本质在于两两做对比,如果两个区间,可以合并,则为结果二维数组中的一员,如果不可合并,则放入结果二维数组,所以根本在于,如何判断两个区间,是可合并,还是不可合并
1.首先将二维数组,按照左端元素进行排序
2.将第一个元素放入结果区间列表
3.如果当前区间的左端元素比结果区间列表最后一个区间右端元素小,则存在包含关系,此时只需更新右端元素即可
(更新为当前区间的右端元素与结果区间的右端元素的最大值)
4.如果不包含,则将当前区间加入结果区间列表,作为最后一个区间
5.输出结果区间列表

解题遇到的问题

1.二维数组排序
2.二维数组在不知道大小时,如何初始化?

后续需要总结学习的知识点

  1. Arrays.copyOf源码和使用方法总结

2.二维数组排序、重新compare

## 解法1
class Solution {
    public int[][] merge(int[][] intervals) {
        Arrays.sort(intervals, new Comparator<int[]>() {
            @Override
            public int compare(int[] o1, int[] o2) {
                return o1[0] - o2[0];
            }
        });

        int index = 0;
        for (int i = 1; i < intervals.length; i++) {
            if (intervals[index][1] < intervals[i][0]) {
                index++;
                intervals[index][0] = intervals[i][0];
                intervals[index][1] = intervals[i][1];
            } else {
                intervals[index][1] = Math.max(intervals[i][1],
                        intervals[index][1]);
            }
        }
        return Arrays.copyOf(intervals, index + 1);
    }
}
目录
相关文章
AC Leetcode 763. 划分字母区间
AC Leetcode 763. 划分字母区间
94 0
AC Leetcode 763. 划分字母区间
|
机器学习/深度学习
AC Leetcode 48. 旋转图像
AC Leetcode 48. 旋转图像
128 0
AC Leetcode 48. 旋转图像
AC Leetcode 59. 螺旋矩阵 II
AC Leetcode 59. 螺旋矩阵 II
82 0
AC Leetcode 59. 螺旋矩阵 II
AC Leetcode 290. 单词规律
AC Leetcode 290. 单词规律
61 0
|
算法
AC Leetcode.三数之和
AC Leetcode.三数之和
84 0
AC Leetcode 238. 除自身以外数组的乘积
AC Leetcode 238. 除自身以外数组的乘积
52 0
|
2月前
|
Unix Shell Linux
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
|
3月前
|
Python
【Leetcode刷题Python】剑指 Offer 32 - III. 从上到下打印二叉树 III
本文介绍了两种Python实现方法,用于按照之字形顺序打印二叉树的层次遍历结果,实现了在奇数层正序、偶数层反序打印节点的功能。
57 6
|
3月前
|
搜索推荐 索引 Python
【Leetcode刷题Python】牛客. 数组中未出现的最小正整数
本文介绍了牛客网题目"数组中未出现的最小正整数"的解法,提供了一种满足O(n)时间复杂度和O(1)空间复杂度要求的原地排序算法,并给出了Python实现代码。
118 2
|
25天前
|
机器学习/深度学习 人工智能 自然语言处理
280页PDF,全方位评估OpenAI o1,Leetcode刷题准确率竟这么高
【10月更文挑战第24天】近年来,OpenAI的o1模型在大型语言模型(LLMs)中脱颖而出,展现出卓越的推理能力和知识整合能力。基于Transformer架构,o1模型采用了链式思维和强化学习等先进技术,显著提升了其在编程竞赛、医学影像报告生成、数学问题解决、自然语言推理和芯片设计等领域的表现。本文将全面评估o1模型的性能及其对AI研究和应用的潜在影响。
20 1