Skip to content

Commit e494ff9

Browse files
week13 mission non-overlapping-intervals
1 parent ee698d2 commit e494ff9

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
- ๋ฌธ์ œ: https://leetcode.com/problems/non-overlapping-intervals/
2+
- ํ’€์ด: https://algorithm.jonghoonpark.com/2024/07/23/leetcode-435
3+
4+
```java
5+
public int eraseOverlapIntervals(int[][] intervals) {
6+
int overlappingCount = 0;
7+
Arrays.sort(intervals, Comparator.comparingInt(o -> o[1]));
8+
9+
int currentEnd = intervals[0][1];
10+
for (int i = 0; i < intervals.length - 1; i++) {
11+
// overlapping ์ด ๋ฐœ์ƒ๋œ ๊ฒฝ์šฐ
12+
if (currentEnd > intervals[i + 1][0]) {
13+
overlappingCount++;
14+
15+
// ์•ž interval ์˜ end ๊ฐ’์ด ๋’ค interval ์˜ end ๋ณด๋‹ค ์ž‘์„ ๊ฒฝ์šฐ ์ด์ „ pointer ์œ ์ง€
16+
if (currentEnd < intervals[i + 1][1]) {
17+
continue;
18+
}
19+
}
20+
21+
currentEnd = intervals[i + 1][1];
22+
}
23+
24+
return overlappingCount;
25+
}
26+
```
27+
28+
### TC, SC
29+
30+
์‹œ๊ฐ„ ๋ณต์žก๋„๋Š” `O(n*logn)` ๊ณต๊ฐ„ ๋ณต์žก๋„๋Š” `O(1)` ์ด๋‹ค.

0 commit comments

Comments
ย (0)