题目描述
给你一个二维整数数组 intervals ,其中 intervals[i] = [lefti, righti] 表示 闭 区间 [lefti, righti] 。
你需要将 intervals 划分为一个或者多个区间 组 ,每个区间 只 属于一个组,且同一个组中任意两个区间 不相交 。
请你输出 最少 需要划分成多少个组。
如果两个区间覆盖的范围有重叠(即至少有一个公共数字),那么我们称这两个区间是 相交 的。比方说区间 [1, 5] 和 [5, 8] 相交。
输入
第一行一个整数n,表示二维整数数组
intervals 的行数
接下来第i行(i=1,2...,n)两个整数
[lefti, righti] 表示 闭 区间
[lefti, righti]
-
1 <= n <= 105
-
intervals[i].length == 2
-
1 <= lefti<= righti<= 106
提示
不要关心时间限制,只要时间复杂度计算出不超过1e8即可通过本题,时间限制给2s是为了不卡输入输出流时间过长
样例解释:
我们可以将区间划分为如下的区间组:
- 第 1 组:[1, 5] ,[6, 8] 。
- 第 2 组:[2, 3] ,[5, 10] 。
- 第 3 组:[1, 10] 。
可以证明无法将区间划分为少于 3 个组。
样例输入2:
4
1 3
5 6
8 10
11 13
样例输出2:
1