mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 00:43:04 +08:00
Update
This commit is contained in:
@ -63,3 +63,5 @@ public:
|
||||
}
|
||||
};
|
||||
```
|
||||
|
||||
> 更多精彩文章持续更新,可以微信搜索「 代码随想录」第一时间阅读,关注后有大量的学习资料和简历模板可以免费领取,本文 [GitHub](https://github.com/youngyangyang04/leetcode-master ):https://github.com/youngyangyang04/leetcode-master 已经收录,欢迎star,fork,共同学习,一起进步。
|
||||
|
15
problems/0015.三数之和.md
Normal file
15
problems/0015.三数之和.md
Normal file
@ -0,0 +1,15 @@
|
||||
## 题目地址
|
||||
|
||||
## 思路
|
||||
|
||||
## 哈希解法
|
||||
|
||||
去重的过程不好处理,有很多小细节,在面试中很难想到为
|
||||
|
||||
## 双指针
|
||||
|
||||
推荐使用这个方法,排序后用双指针前后操作,比较容易达到去重的目的
|
||||
|
||||
O(n^2)
|
||||
|
||||
> 更多精彩文章持续更新,可以微信搜索「 代码随想录」第一时间阅读,关注后有大量的学习资料和简历模板可以免费领取,本文 [GitHub](https://github.com/youngyangyang04/leetcode-master ):https://github.com/youngyangyang04/leetcode-master 已经收录,欢迎star,fork,共同学习,一起进步。
|
@ -45,3 +45,5 @@ public:
|
||||
}
|
||||
};
|
||||
```
|
||||
|
||||
> 更多精彩文章持续更新,可以微信搜索「 代码随想录」第一时间阅读,关注后有大量的学习资料和简历模板可以免费领取,本文 [GitHub](https://github.com/youngyangyang04/leetcode-master ):https://github.com/youngyangyang04/leetcode-master 已经收录,欢迎star,fork,共同学习,一起进步。
|
||||
|
24
problems/0349.两个数组的交集.md
Normal file
24
problems/0349.两个数组的交集.md
Normal 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());
|
||||
}
|
||||
};
|
||||
```
|
34
problems/0350.两个数组的交集II.md
Normal file
34
problems/0350.两个数组的交集II.md
Normal 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;
|
||||
}
|
||||
};
|
||||
```
|
Reference in New Issue
Block a user