leetcode56.合并区间-java
1 class Solution { 2 public int[][] merge(int[][] intervals) { 3 /* 4 思路:左区间排序,若intervals[i][0] >= intervals[i-1][1]; 则重叠 5 将重叠区间新建放入res数组里,没重叠则放入原数组 6 */ 7 List<int[]> res = new LinkedList<>(); 8 Arrays.sort(intervals, (a,b) -> Integer.compare(a[0], b[0])); 9 //initial start 是最小左边界 10 int start = intervals[0][0]; 11 int rightmostRightBound = intervals[0][1]; 12 for(int i = 1; i < intervals.length; i++) { 13 //如果左边界大于最大右边界 14 if(intervals[i][0] > rightmostRightBound) {//没重叠 15 //加入区间 并且更新start 16 res.add(new int[]{start, rightmostRightBound}); 17 start = intervals[i][0]; 18 rightmostRightBound = intervals[i][1]; 19 } else { 20 //更新最大右边界 21 rightmostRightBound = Math.max(rightmostRightBound, intervals[i][1]); 22 } 23 } 24 res.add(new int[]{start, rightmostRightBound}); 25 return res.toArray(new int[res.size()][]); 26 } 27 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!