56. 合并区间(leetcode)
https://leetcode.cn/problems/merge-intervals/description/
经典题合并区间
class Solution {
public int[][] merge(int[][] intervals) {
Arrays.sort(intervals,(a,b) -> Integer.compare(a[0],b[0]));
// 区间合并经典题
// 思路是先加入第一个区间,此后遍历区间,从res的末尾取,若发生重叠则进行合并
// 合并的关键是更新区间端点,为两个重叠区间的最右点
List<int[]> res = new ArrayList<>();
res.add(intervals[0]);
int count=0;
if(intervals.length==1)return intervals;
for(int i=1;i<intervals.length;i++)
{
// 发生重叠
if(res.getLast()[1] >= intervals[i][0] )
{
int start = res.getLast()[0];
int end = Math.max(intervals[i][1], res.getLast()[1]);
// 更新区间
res.removeLast();
res.add(new int[]{start, end});
}
else
{
// 未发生重叠
res.add(intervals[i]);
}
}
return res.toArray(new int[res.size()][]);
}
}
· [翻译] 为什么 Tracebit 用 C# 开发
· 腾讯ima接入deepseek-r1,借用别人脑子用用成真了~
· Deepseek官网太卡,教你白嫖阿里云的Deepseek-R1满血版
· DeepSeek崛起:程序员“饭碗”被抢,还是职业进化新起点?
· RFID实践——.NET IoT程序读取高频RFID卡/标签