Problem#
題目給你一個由正整數構成的區間,intervals[i] = [li, ri]
,如果區間 [a, b)
被 [c, d)
覆蓋,則代表 $c <= a$ 且 $b <= d$
要你回傳刪掉被覆蓋的區間後,剩下區間的個數。
N = intervals.size()
- $1 \leq N \leq 1000$
- 區間範圍: $0 \leq l_i \leq r_i \leq 10^5$
想法#
按照左界排序,如果左界相同的話,則右界大的在前、小的在後,如此一來對於每個左界,只要關心右界延伸去哪
每次去比較右界有沒有包含在最大的右界裏頭,如果有就要減 1。
- 時間複雜度: $\mathcal{O}(N\log{N})$
- 空間複雜度: $\mathcal{O}(N)$
AC Code#
賞析#
- 有的作法是用加的
心得#
一開始沒讀題目還以為是要查區間,讀完才發現沒有