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