首页 > 学院 > 开发设计 > 正文

【lintcode笔记】两数组的交 II

2019-11-08 01:33:11
字体:
来源:转载
供稿:网友

计算两个数组的交

注意事项 每个元素出现次数得和在数组里一样 答案可以以任意顺序给出 样例 nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2].

//不必去重#include <stdio.h>#include <vector>#include <algorithm>using namespace std;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 i=0,j=0; int m=nums1.size(); int n=nums2.size(); vector<int> nums3; if(m==0 || n==0) return nums3; sort(nums1.begin(),nums1.end()); sort(nums2.begin(),nums2.end()); while(i <= m-1 && j <= n-1 ){ if(nums1[i] == nums2[j]){ nums3.push_back(nums1[i]); i++; j++; }else if(nums1[i] < nums2[j]){ i++; }else j++; } return nums3; }};
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表