代码效率很一般,但是比较简单易懂
python实现
class Solution:
def intersection(self , nums1: List[int], nums2: List[int]) -> List[int]:
nums1, nums2 = set(nums1), set(nums2) # 去重
return list(nums1 & nums2) # 取交集
c++实现
class Solution {
public:
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
// write code here
set<int> s1, s2; //初始化两个set
for(int i=0; i<nums1.size(); i++){ //将两个数组去重
s1.insert(nums1[i]);
}
for(int i=0; i<nums2.size(); i++){
s2.insert(nums2[i]);
}
vector<int> res;
for(int single : s1){ //循环s1,如果s2中有single,就添加到res中
if(s2.find(single) != s2.end()){
res.push_back(single);
}
}
return res;
}
};