首页 > 试题广场 >

挑选代表

[编程题]挑选代表
  • 热度指数:3868 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
我们有很多区域,每个区域都是从a到b的闭区间,现在我们要从每个区间中挑选至少2个数,那么最少挑选多少个?

输入描述:
第一行是N(N<10000),表示有N个区间,之间可以重复
然后每一行是ai,bi,持续N行,表示现在区间。均小于100000


输出描述:
输出一个数,代表最少选取数量。
示例1

输入

4
4 7
2 4
0 2
3 6

输出

4
头像 牛客题解官
发表于 2020-06-05 15:17:34
精华题解 题目难度:三星 考察点:贪心 方法:贪心 1.分析: 这个题我们再来明确一下题意,有n个闭区间[a,b],现在需要在每个闭区间中选择两个数,要求的是选出来的数的个数最少,拿样例来说: 4 4 7 2 4 0 2 3 6 可以从第一个区间中选择: 展开全文
头像 cchangcs
发表于 2019-08-02 19:15:17
解题思路: 贪心算法 完整代码: n = int(input()) nums = [] for _ in range(n):   nums.append(list(map(int, input().split()))) nums.sort(key=lambda x:x[1]) 展开全文