leetcode-两个数组的交集

Posted HannahGreen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于leetcode-两个数组的交集的主要内容,如果未能解决你的问题,请参考以下文章

leetcode349. 两个数组的交集

前端与算法 leetcode 350. 两个数组的交集 II

《LeetCode之每日一题》:51.两个数组的交集 II

LeetCode 0349. 两个数组的交集

LeetCode刷题349-简单-两个数组的交集

LeetCode刷题349-简单-两个数组的交集