返回两个数组的交
样例
nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2].
挑战
可以用三种不同的方法实现吗?
解题思路:
哈希表。先建立一个unordered_set存放nums1,然后在其中寻找nums2中的元素,如果找到就放进另外一个unordered_set中作为结果,最后用vector返回结果。
class Solution {
public:
/*
* @param nums1: an integer array
* @param nums2: an integer array
* @return: an integer array
*/
vector<int> intersection(vector<int> nums1, vector<int> nums2)
{
// write your code here
unordered_set<int> s(nums1.begin(),nums1.end());
unordered_set<int> res;
for(int i : nums2)
if(s.count(i))
res.insert(i);
return vector<int>(res.begin(),res.end());
}
};
本文介绍了一种使用哈希表解决两数组交集问题的方法。通过将一个数组存入哈希表,在另一个数组中查找匹配项,并将这些匹配项放入结果集合中。最终返回结果集合的元素。
1317

被折叠的 条评论
为什么被折叠?



