LintCode 两数组的交 II

题目描述:
计算两个数组的交

注意事项

每个元素出现次数得和在数组里一样
答案可以以任意顺序给出

样例
nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2].

ac代码:

class Solution {
public:
    /**
     * @param nums1 an integer array
     * @param nums2 an integer array
     * @return an integer array
     */
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        // Write your code here
        int a[900005];
        int i;
        vector<int>v;
        memset(a,0,sizeof(a));
        for(i=0;i<nums1.size();i++)
        {
            a[nums1[i]+200000]++;
        }
        for(i=0;i<nums2.size();i++)
        {
            if(a[nums2[i]+200000])
            {
                v.push_back(nums2[i]);
                a[nums2[i]+200000]--;
            }
        }
        return v;
    }
};
发布了166 篇原创文章 · 获赞 4 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/sinat_34336698/article/details/73274272