This commit is contained in:
youngyangyang04
2020-06-28 11:18:02 +08:00
parent 9c2870a88b
commit 32fbd70234
6 changed files with 84 additions and 1 deletions

View File

@ -63,3 +63,5 @@ public:
}
};
```
> 更多精彩文章持续更新,可以微信搜索「 代码随想录」第一时间阅读,关注后有大量的学习资料和简历模板可以免费领取,本文 [GitHub](https://github.com/youngyangyang04/leetcode-master )https://github.com/youngyangyang04/leetcode-master 已经收录欢迎starfork共同学习一起进步。

View File

@ -0,0 +1,15 @@
## 题目地址
## 思路
## 哈希解法
去重的过程不好处理,有很多小细节,在面试中很难想到为
## 双指针
推荐使用这个方法,排序后用双指针前后操作,比较容易达到去重的目的
O(n^2)
> 更多精彩文章持续更新,可以微信搜索「 代码随想录」第一时间阅读,关注后有大量的学习资料和简历模板可以免费领取,本文 [GitHub](https://github.com/youngyangyang04/leetcode-master )https://github.com/youngyangyang04/leetcode-master 已经收录欢迎starfork共同学习一起进步。

View File

@ -45,3 +45,5 @@ public:
}
};
```
> 更多精彩文章持续更新,可以微信搜索「 代码随想录」第一时间阅读,关注后有大量的学习资料和简历模板可以免费领取,本文 [GitHub](https://github.com/youngyangyang04/leetcode-master )https://github.com/youngyangyang04/leetcode-master 已经收录欢迎starfork共同学习一起进步。

View File

@ -0,0 +1,24 @@
## 题目地址
https://leetcode-cn.com/problems/intersection-of-two-arrays/
## 思路
这道题目主要要学会使用一种哈希数据结构unordered_set这个数据结构可以解决很多类似的问题
## 代码
```
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
unordered_set<int> set; // 存放结果
unordered_set<int> nums_set(nums1.begin(), nums1.end());
for (int num : nums2) {
if (nums_set.find(num) != nums_set.end()) { // 发现nums1与nums2有重复
set.insert(num);
}
}
return vector<int>(set.begin(), set.end());
}
};
```

View File

@ -0,0 +1,34 @@
## 题目地址
https://leetcode-cn.com/problems/intersection-of-two-arrays-ii/
## 思路
这道题目看上去和349两个数组的交集题目描述是一样的其实这两道题解法相差还是很大的编号349题目结果是去重的
而本题才求的真正的交集求这两个集合元素的交集需要掌握另一个哈希数据结构unordered_map
## 代码
```
class Solution {
public:
vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
vector<int> result;
unordered_map<int, int> umap;
for (int num : nums1) {
umap[num]++;
}
for (int num : nums2) {
if (umap[num] > 0) {
result.push_back(num);
umap[num]--;
}
}
return result;
}
};
```