当前位置: 首页> 文旅> 旅游 > 代码随想录——合并区间(Leetcode hot14)

代码随想录——合并区间(Leetcode hot14)

时间:2025/8/24 18:18:22来源:https://blog.csdn.net/qq_46574748/article/details/141275541 浏览次数:0次

题目链接
在这里插入图片描述

思路: 合并区间分为两种情况:

  • 前一个数组右边界 >= 后一个数组左边界 eg:[1,3],[2,6] ===> 合并为[1,6]
  • 前一个数组右边界 >= 后一个数组右边界 eg:[1,6],[2,4] ===> 合并为[1,6]
class Solution {public int[][] merge(int[][] intervals) {if(intervals.length <= 1){return intervals;}Arrays.sort(intervals, (a, b) -> a[0] - b[0]);List<int[]> list = new ArrayList<>();for(int i = 1; i < intervals.length; i++){boolean change = false;if(intervals[i - 1][1] >= intervals[i][0]){change = true;intervals[i][0] = intervals[i - 1][0];}if(intervals[i - 1][1] >= intervals[i][1]){change = true;intervals[i][0] = intervals[i - 1][0];intervals[i][1] = intervals[i - 1][1];}if(change == false){list.add(intervals[i - 1]);}}list.add(intervals[intervals.length - 1]);return list.toArray(new int[list.size()][]);}
}

总结:
这道题目情况划分比较简单,代码思路比较清晰,主要难点是对二维数组操作不熟练,通过这道题目可以加深一下对二维数组和ArrayList相互转换理解。

关键字:代码随想录——合并区间(Leetcode hot14)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: