两数组的交2

来源:互联网 发布:mysql match against 编辑:程序博客网 时间:2024/05/06 07:59

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

样例

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

思路:与两数组的交1类似,首先将两数组排序,遍历两数组,找到数组中相同的元素,存到vector中。

代码:

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        sort(nums1.begin(),nums1.end());        sort(nums2.begin(),nums2.end());        int len1=nums1.size();        int len2=nums2.size();        vector<int> A;        int i=0,j=0;        while(i<len1&&j<len2)         {if(nums1[i]==nums2[j])           {A.push_back(nums1[i]);            i++;j++;}           if(nums1[i]<nums2[j]) {i++;}         if(nums1[i]>nums2[j])            {j++;}                   }         return A;    }};


原创粉丝点击