代码效率很一般,但是比较简单易懂

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;
    }
};