返回两个数组的交
注意事项
- Each element in the result must be unique.
- The result can be in any order.
样例
nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2].
挑战
可以用三种不同的方法实现吗?
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
vector<int> result;
map<int,int> hash;
for(int i=0;i<nums1.size();i++){
if(!hash.count(nums1[i]))
hash[nums1[i]]=1;
}
for(int i=0;i<nums2.size();i++){
if(hash.count(nums2[i])){
if(hash[nums2[i]]++==1){
result.push_back(nums2[i]);
}
}
}
return result;
}
};
本文介绍了一个简单的算法问题:如何找出两个整数数组的交集,并确保结果中的每个元素都是唯一的,且结果可以不按特定顺序排列。举例说明了当输入数组为 [1,2,2,1] 和 [2,2] 时,正确输出应为 [2]。讨论了使用哈希映射来解决该问题的方法。
384

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



