Skip to content

Commit 32b35a2

Browse files
author
eunhwa99
committed
non overlapping intervals
1 parent 7974957 commit 32b35a2

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

non-overlapping-intervals/eunhwa99.kt

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
class Solution {
2+
// TC: O(n log n) - intervals를 정렬하는데 O(n log n)
3+
// SC: O(1) - 추가적인 공간을 사용하지 않음
4+
fun eraseOverlapIntervals(intervals: Array<IntArray>): Int {
5+
intervals.sortBy { it[1] } // intervals를 끝나는 시간 기준으로 정렬
6+
7+
var prevEnd = intervals[0][1]
8+
var count = 0
9+
for (i in 1 until intervals.size) {
10+
val curStart = intervals[i][0]
11+
if (curStart < prevEnd) { // 두 구간이 겹친다.
12+
count++
13+
} else {
14+
prevEnd = intervals[i][1] // 겹치지 않으면 prevEnd를 갱신
15+
}
16+
17+
}
18+
return count
19+
}
20+
}

0 commit comments

Comments
 (0)