#10269. 数字筛选
数字筛选
Problem: 数字筛选
任务总览
任务名称 | 时间限制 | 内存限制 | 分数 |
---|---|---|---|
数字筛选 | 1 sec | 1024 MB | 5 |
题目描述
Medusa 同学拿到了两组数字,老师请你编程帮他找出第 2 组数中,在第 1 组数中出现过的数字。输出时,需将所有满足条件的数从小到大排列。
注意:如果一个数字在第 2 组中出现了多次,而第 1 组中也有该数字,那么它应该被多次输出。例如:
- 第 1 组数为:
8 7 9 8 2 6 3
- 第 2 组数为:
9 6 8 3 3 2 10
输出应为:2 3 3 6 8 9
输入格式
- 第一行包含两个整数
n
和m
,表示两组数的数量。 - 第二行包含
n
个正整数,表示第 1 组的数字。 - 第三行包含
m
个正整数,表示第 2 组的数字。
输出格式
- 输出所有在第 1 组中出现的第 2 组的数字,按从小到大顺序排列。数字之间用一个空格隔开。
输入输出示例
输入示例 1
7 7
8 7 9 8 2 6 3
9 6 8 3 3 2 10
输出示例 1
2 3 3 6 8 9
题目解析
- 使用
unordered_set
或set
存储第 1 组的所有数字,便于快速查找。 - 遍历第 2 组数字,如果该数字在第 1 组中出现,则记录下来。
- 最后将所有满足条件的数字排序后输出。
数据范围
- 对于 60% 的数据:
1 ≤ n, m ≤ 1000
,每个数 ≤ 2×10⁹ - 对于 100% 的数据:
1 ≤ n, m ≤ 10^5
,每个数 ≤ 2×10⁹