leetcode-两个数组的交集
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
相关推荐
CodeAsWind 2020-08-17
sunnyhappy0 2020-07-09
cxcxrs 2020-06-26
深思千年 2020-06-10
xmwang0 2020-06-01
fgleeldq 2020-05-27
ShiShuo 2020-05-16
文山羊 2020-05-08
tengyuan 2020-05-07
Leewoxinyiran 2020-05-06
sschencn 2020-05-04
vevoly 2020-05-04
一只码畜 2020-04-22
sulindong0 2020-03-09
GoatSucker 2020-02-24
sdwylry 2020-02-14