自学内容网 自学内容网

350. 两个数组的交集 II

目录

题目

给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。

解法

class Solution {
public:
    vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
         vector<int> res;
         unordered_map<int,int> map;
        // sort(nums2.begin(), nums2.end());
         for (int i = 0; i < nums1.size(); i++){                 //放进哈希表
             map[nums1[i]]++;
         }
         for(int j = 0; j < nums2.size(); j++){       
             
             if (map[nums2[j]] > 0){
                 res.push_back(nums2[j]);
                 map[nums2[j]]--;            //找到了就减小对应key的value,大于0表示还有这个数可以匹配
             }
         }
         return res;
    }
};

原文地址:https://blog.csdn.net/qq_43920838/article/details/143718761

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!