349.两个数组的交集+350.两个数组的交集II(set/multiset)

目录

一、349.两个数组的交集

二、350.两个数组的交集II


一、349.两个数组的交集

349. 两个数组的交集 - 力扣(LeetCode)

349.两个数组的交集+350.两个数组的交集II(set/multiset)_第1张图片 

class Solution {
public:
    vector intersection(vector& nums1, vector& nums2) {
        //排序+去重
        set s1(nums1.begin(),nums1.end());
        set s2(nums2.begin(),nums2.end());
        vectorret;

        set::iterator it1 = s1.begin();
        set::iterator it2 = s2.begin();
        while(it1!=s1.end()&&it2!=s2.end())
        {
            if(*it1 == *it2)
            {
                ret.push_back(*it1);
                it1++;
                it2++;
            }
            //谁小谁先++
            else if(*it1 < *it2)
            {
                it1++;
            }
            else
            {
                it2++;
            }
        }
        return ret;
    
    }
};

二、350.两个数组的交集II

350. 两个数组的交集 II - 力扣(LeetCode)

349.两个数组的交集+350.两个数组的交集II(set/multiset)_第2张图片 

class Solution {
public:
    vector intersect(vector& nums1, vector& nums2) {
        //排序
        multiset s1(nums1.begin(),nums1.end());
        multiset s2(nums2.begin(),nums2.end());
        vectorret;

        multiset::iterator it1 = s1.begin();
        multiset::iterator it2 = s2.begin();
        while(it1!=s1.end()&&it2!=s2.end())
        {
            if(*it1 == *it2)
            {
                ret.push_back(*it1);
                it1++;
                it2++;
            }
            else if(*it1 < *it2)
            {
                it1++;
            }
            else
            {
                it2++;
            }
        }
        return ret;
    
    }
    
};

 

你可能感兴趣的:(牛客/力扣,算法)