题目描述
两个整数数组 ( 个数)与 ( 个数)。求「两边都出现过的不同值」有多少个:一个值不管两边各出现多少次,只要两边都有,就只算 个。
做法:把两边分别塞进两个 unordered_set(插入时重复的自动丢弃,集合里剩下的就是不同值);然后遍历较小的集合,对每个元素用 count 去较大的集合里查——查到就计 个。
输入格式
第一行两个整数 和 ()。
第二行 个整数 ,第三行 个整数 ()。
输出格式
一行一个整数:两边都出现的不同值的个数。
样例
输入:
5 5
1 2 2 3 5
2 3 3 3 8
输出:
2
两边都出现过的不同值只有 2 和 3——重复出现只算一次,不按出现次数配对。
数据范围
,。先问「值在不在」,再谈「出现几次」——去重这件事,集合替你办好了。