无重叠区间
Submit solution
Points:
200
Time limit:
1.0s
Memory limit:
10M
Author:
Problem type
Allowed languages
C, C++
无重叠区间(leetcode 435)
给定一个由若干个区间组成的数组 intervals,每个区间 intervals[i] = [starti, endi],请你计算:最少需要移除多少个区间,使得剩下的区间互不重叠。
第一行输入一个整数n,表示数组有多少个元素
从第二行开始依次输入n对整数,每一对整数包含2个数字,表示每一个区间的开始和结束
输出一个整数,表示需要移除的区间的最小数量。
例 1:
输入:
4
1 2
2 3
3 4
1 3
输出:
1
解释:
移除区间 [1,3],剩下的区间 [1,2],[2,3],[3,4] 互不重叠。
例 2:
输入:
3
1 2
1 2
1 2
输出:
2
解释:
我们最多只能保留一个 [1,2] 区间,其余两个必须删除。
例 3:
输入:
2
1 2
2 3
输出:
0
解释:
两个区间刚好接壤,不重叠,无需移除。
提示:
\(1 \le intervals.length \le 10^5\)
\(intervals[i].length == 2\)
\(-5 \times 10^4 \le start_i < end_i \le 5 \times 10^4\)
Comments