LintCode 两数组的交 II

来源:互联网 发布:证券分析软件 编辑:程序博客网 时间:2024/06/05 07:30

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

注意事项

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

样例
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;    }};