Problem: 给两个数组,求这两个数组的交集,且没有重复元素。 Solution: 将第一个数组映射为一个hash表,然后用第二个数组去匹配。 notes: 细节决定成败 1. 哈希表的使用。 2. 哈希表使用时一定要定义大小,这是哈希表的性能瓶颈。 3. foreach的循环使用起来更加方便,但是它的速度并不会更快
class Solution {
public:
vector<int> intersection(
vector<int>& nums1,
vector<int>& nums2) {
vector<int> res;
unordered_map<int, int> map(nums1.size());
for(
int num : nums1)
map[num]++;
for(
int num : nums2) {
if(
map[num] >
0) {
res.push_back(num);
map[num] =
0;
}
}
return res;
}
};
转载请注明原文地址: https://ju.6miu.com/read-661803.html