2032. 至少在两个数组中出现的值

2032. 至少在两个数组中出现的值

给你三个整数数组 nums1、nums2 和 nums3 ,请你构造并返回一个 元素各不相同的 数组,且由 至少 在 两个 数组中出现的所有值组成。数组中的元素可以按 任意 顺序排列。

输入:nums1 = [1,1,3,2], nums2 = [2,3], nums3 = [3]
输出:[3,2]
解释:至少在两个数组中出现的所有值为:

  • 3 ,在全部三个数组中都出现过。
  • 2 ,在数组 nums1 和 nums2 中出现过。
class Solution {
public:
    vector<int> twoOutOfThree(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3) {
        map<int,int>dict1;
        map<int,int>dict2;
        map<int,int>dict3;
        vector<int>res;
        for(auto num:nums1) dict1[num]=1;
        for(auto num:nums2) dict2[num]=1;
        for(auto num:nums3) dict3[num]=1;
        for(int i=1;i<=100;i++)
            if(dict1[i]+dict2[i]+dict3[i]>=2)
                res.push_back(i);
        return res;
    }
};
posted @ 2022-12-29 12:08  认真游泳的鱼  阅读(18)  评论(0)    收藏  举报