
https://leetcode.com/problems/merge-intervals/?envType=problem-list-v2&envId=rab78cw1
앞서서 Insert Interval을 풀었다면 이 문제는 당연 풀 수 있다.
초기화 로직을 제외한 모든 로직이 동일하기 때문에 풀이는 생략한다.
아래 포스팅으로 풀이를 대체한다.
https://velog.io/@jinvicky/57-Insert-Interval
class Solution {
public int[][] merge(int[][] intervals) {
Arrays.sort(intervals, (a,b) -> a[0] - b[0]);
List<int[]> result = new ArrayList<>();
for(int[] interval : intervals) {
if(result.isEmpty()) {
result.add(interval);
} else if (result.get(result.size()-1)[1] < interval[0]) {
result.add(interval);
} else {
result.get(result.size()-1)[1] = Math.max(result.get(result.size()-1)[1], interval[1]);
}
}
return result.toArray(new int[result.size()][]);
}
}