两个数组的交集
题目
给定两个数组 nums1 和 nums2 ,返回 它们的
交集。
输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。
示例1:
输入:nums1 = [1,2,2,1], nums2 = [2,2]
输出:[2]
思路
stl unordered_set来存储一个数组中出现的数字,再看另一个数组中的数字能否在这个set中找到,找到的set中的元素就是得到的数字。
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| class Solution { public: vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { unordered_set<int> res; unordered_set<int> nums(nums2.begin(),nums2.end()); for(auto num:nums1){ if(nums.find(num) != nums.end()){ res.insert(num); } } return vector<int>(res.begin(),res.end()); } };
|