题目描述
给定 N N N 个闭区间 [ a i , b i ] [a_i,b_i] [ai,bi],请你在数轴上选择若干区间,使得选中的区间之间互不相交(包括端点)。
输出可选取区间的最大数量。
输入格式
第一行包含整数 N N N,表示区间数。
接下来 N N N 行,每行包含两个整数 a i , b i a_i,b_i ai,bi,表示一个区间的两个端点。
输出格式
输出一个整数,表示可选取区间的最大数量。
数据范围
1
≤
N
≤
1
0
5
1 \le N \le 10^5
1≤N≤105,
−
1
0
9
≤
a
i
≤
b
i
≤
1
0
9
-10^9 \le a_i \le b_i \le 10^9
−109≤ai≤bi≤109
输入样例:
3
-1 1
2 4
3 5
输出样例:
2
py代码
# -*- coding: UTF-8 -*-
'''
@Project :Algorithm
@File :908. 最大不相交区间数量.py
@IDE :PyCharm
@Author :猫天意
@Date :2024/8/7 18:06:01
'''
li = []
n = int(input())
for _ in range(n):
a, b = map(int, input().split())
li.append((a, b))
li.sort(key=lambda x: x[1])
res, end = 0, -2e9
for i in range(n):
if li[i][0] > end:
res += 1
end = li[i][1]
print(res)