zoukankan      html  css  js  c++  java
  • 350 Intersection of Two Arrays II 两个数组的交集 II

    给定两个数组,写一个方法来计算它们的交集。
    例如:
    给定 nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2].
    注意:
           输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。
           我们可以不考虑输出结果的顺序。
    跟进:
        如果给定的数组已经排好序呢?你将如何优化你的算法?
        如果 nums1 的大小比 nums2 小很多,哪种方法更优?
        如果nums2的元素存储在磁盘上,内存是有限的,你不能一次加载所有的元素到内存中,你该怎么办?
    详见:https://leetcode.com/problems/intersection-of-two-arrays-ii/description/
    C++:

    class Solution {
    public:
        vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
            unordered_map<int,int> m;
            vector<int> res;
            for(int num:nums1)
            {
                ++m[num];
            }
            for(int num:nums2)
            {
                if(m[num]-->0)
                {
                    res.push_back(num);
                }
            }
            return res;
        }
    };
    

     参考:https://www.cnblogs.com/grandyang/p/5533305.html

  • 相关阅读:
    poj2955(区间dp)
    poj3280(区间dp)
    poj1651(区间dp)
    hdu5001(概率dp)
    hdu4389(数位dp)
    hdu4352(数位dp)
    CF 148D(概率dp)
    zoj3329(概率dp)
    POJ1028 Web Navigation
    POJ1027 The Same Game
  • 原文地址:https://www.cnblogs.com/xidian2014/p/8836629.html
Copyright © 2011-2022 走看看