zoukankan      html  css  js  c++  java
  • LeetCode 350. Intersection of Two Arrays II

    Given two arrays, write a function to compute their intersection.

    Example:
    Given nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2, 2].

    Note:

    • Each element in the result should appear as many times as it shows in both arrays.

    • The result can be in any order.
      Follow up:

    • What if the given array is already sorted? How would you optimize your algorithm?

    • What if nums1‘s size is small compared to nums2‘s size? Which algorithm is better?

    • What if elements of nums2 are stored on disk, and the memory is limited such that you cannot load all elements into the memory at once?

    class Solution {
    public:
        vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
            vector<int> res;
            map<int,int> r1;
            for(auto num: nums1)
                r1[num]++;
            for(auto num: nums2)
                if(r1[num]>0){
                    res.push_back(num);
                    r1[num]--;
                }
            return res;
        }
    };
    
  • 相关阅读:
    我是一条内存[转]
    随机翻唱辑 [2006.8.18更新]
    CentOS NTFS 挂载
    grub备忘
    CentOS 使用163软件源
    被车撞了
    爱上苦瓜
    无聊的游戏
    今天去爬山了
    博客搬家了:www.sanv.org
  • 原文地址:https://www.cnblogs.com/A-Little-Nut/p/10061148.html
Copyright © 2011-2022 走看看