548. 兩數(shù)組的交 II

計算兩個數(shù)組的交
注意事項:

每個元素出現(xiàn)次數(shù)得和在數(shù)組里一樣
答案可以以任意順序給出

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

排序+雙指針

和547相同,這里不過要求不去重,不去重相對來說是簡單的,排序后用雙指針是最簡單的一個方法:

vector<int> intersection(vector<int> nums1, vector<int> nums2) {
        // write your code here
        if(nums1.empty()||nums2.empty())     //特殊情況
        return vector<int>();  
        sort(nums1.begin(),nums1.end());
        sort(nums2.begin(),nums2.end());
         //雙指針
        auto beg1=nums1.begin();
        auto beg2=nums2.begin();  
        vector<int> res;
         //雙指針遍歷
        while(beg1!=nums1.end()&&beg2!=nums2.end())
        {
            if(*beg1==*beg2)
            {
                res.push_back(*beg1);
                beg1++;
                beg2++;
            }
            else if(*beg1<*beg2)
            {
                beg1++;
            }
            else beg2++;
        }
        return res;
    }

基本上沒有什么要注意的,特殊情況排除掉就可以了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容