Skip to content

Commit 3948a06

Browse files
authored
add merge intervals solution
1 parent 5262708 commit 3948a06

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

โ€Žmerge-intervals/Tessa1217.java

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
class Solution {
2+
public int[][] merge(int[][] intervals) {
3+
4+
if (intervals.length <= 1) {
5+
return intervals;
6+
}
7+
8+
List<int[]> answer = new ArrayList<>();
9+
10+
Arrays.sort(intervals, (a, b) -> Integer.compare(a[0], b[0]));
11+
12+
int start = intervals[0][0];
13+
int end = intervals[0][1];
14+
15+
for (int i = 1; i < intervals.length; i++) {
16+
17+
// ํ˜„์žฌ ์ธํ„ฐ๋ฒŒ ์‹œ์ž‘์ 
18+
int currStart = intervals[i][0];
19+
// ํ˜„์žฌ ์ธํ„ฐ๋ฒŒ ๋์ 
20+
int currEnd = intervals[i][1];
21+
22+
if (end >= currStart) {
23+
end = Math.max(end, currEnd);
24+
} else {
25+
answer.add(new int[]{start, end});
26+
start = currStart;
27+
end = currEnd;
28+
}
29+
}
30+
31+
answer.add(new int[]{start, end});
32+
33+
return answer.stream()
34+
.toArray(int[][]::new);
35+
}
36+
}
37+

0 commit comments

Comments
ย (0)