1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| // @Title: 无重叠区间 (Non-overlapping Intervals)
// @Author: 15816537946@163.com
// @Date: 2020-12-31 22:45:36
// @Runtime: 8 ms
// @Memory: 3.9 MB
func eraseOverlapIntervals(intervals [][]int) int {
n := len(intervals)
if n == 0 {
return 0
}
sort.Slice(intervals, func(i, j int) bool { return intervals[i][1] < intervals[j][1] })
ans, right := 1, intervals[0][1]
for _, p := range intervals[1:] {
if p[0] >= right {
ans++
right = p[1]
}
}
return n - ans
}
|