We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 7974957 commit 32b35a2Copy full SHA for 32b35a2
non-overlapping-intervals/eunhwa99.kt
@@ -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