码迷,mamicode.com
首页 > 编程语言 > 详细

leetcode-两个数组的交集

时间:2019-12-24 11:45:17      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:pen   ++   data-   必须   append   get   迭代   style   并且   

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-两个数组的交集

标签:pen   ++   data-   必须   append   get   迭代   style   并且   

原文地址:https://www.cnblogs.com/HannahGreen/p/12090255.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!