[349].俩个数组的交集
Posted Debroon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[349].俩个数组的交集相关的知识,希望对你有一定的参考价值。
题目
题目:https://leetcode-cn.com/problems/intersection-of-two-arrays/
函数原型
class Solution
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2)
;
集合 Set
class Solution
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2)
set<int> st;
vector<int> ans; // 记录俩个数组中的共同元素
for( auto& s:nums1 ) // Map 记录nums1
st.insert(s);
for( auto s:nums2 ) // 扫描nums2,如果 Map 出现过
if( st.count(s) ) // 重复出现
ans.push_back(s); // 添加
st.erase(s); // 删除 Set 中的这个元素,避免重复
return ans;
;
集合 Map
class Solution
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2)
unordered_map<int,int> map;
vector<int> ans; // 记录俩个数组中的共同元素
for(int i = 0;i<nums1.size();i++) // Map 记录nums1
map[nums1[i]] = 1;
for(int i = 0;i<nums2.size();i++) // 扫描nums2,如果 Map 出现过
if(map[nums2[i]] == 1) // 重复出现
map[nums2[i]] = 0; // 删除 Map 中的这个元素,避免重复
ans.push_back(nums2[i]); // 添加
return ans;
;
以上是关于[349].俩个数组的交集的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode Java刷题笔记—349. 两个数组的交集
LeetCode Java刷题笔记—349. 两个数组的交集