https://leetcode.com/problems/intersection-of-two-arrays/description/
Sort the arrays, and compare. Pay attention to the duplicated numbers.
vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
vector<int> res;
sort(nums1.begin(),nums1.end());
sort(nums2.begin(),nums2.end());
for(int i=0, j=0; i<nums1.size() && j< nums2.size();){
if(nums1[i]==nums2[j]) {
if( res.empty() || nums1[i]!=res.back())
res.push_back(nums1[i]);
i++;
j++;
}
else if(nums1[i]<nums2[j]) i++;
else j++;
}
return res;
}
No comments:
Post a Comment