zluxingzhe 2019-12-24
C++解题方法:
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
unordered_set<int> u;
vector<int> answer;
for(int i:nums1)
u.insert(i);
for(int i:nums2){
auto a = u.find(i);
if(a!=u.end()){
answer.push_back(i);
u.erase(a);
}
}
return answer;
}
};# find函数主要实现的是在容器内查找指定的元素,并且这个元素必须是基本数据类型的。# 查找成功返回一个指向指定元素的迭代器,即元素在容器中的下标,查找失败返回end迭代器。Python解题方法:
class Solution:
def intersection(self, nums1: List[int], nums2: List[int]) -> List[int]:
dic = {}
for i in nums1:
if not dic.get(i):
dic[i]=1
new = []
for i in nums2:
if dic.get(i):
new.append(i)
dic[i] -= 1
return new