Leetcode 2032. 至少在两个数组中出现的值(可以,一次过)
Published on 2022-06-11 21:20 in 分类: C/C++ with 萧海~
分类: C/C++

Leetcode 2032. 至少在两个数组中出现的值(可以,一次过)

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

    示例 1:

    输入:nums1 = [1,1,3,2], nums2 = [2,3], nums3 = [3]
    输出:[3,2]
    解释:至少在两个数组中出现的所有值为:
    - 3 ,在全部三个数组中都出现过。
    - 2 ,在数组 nums1 和 nums2 中出现过。

    示例 2:

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

    示例 3:

    输入:nums1 = [1,2,2], nums2 = [4,3,3], nums3 = [5]
    输出:[]
    解释:不存在至少在两个数组中出现的值。

    提示:

    • 1 <= nums1.length, nums2.length, nums3.length <= 100
    • 1 <= nums1[i], nums2[j], nums3[k] <= 100

    主要思路:先每个数组去重,然后每个数组添加到新的数组,然后判断新的数组元素个数是否大于等于2个
    Code:

    class Solution {
    public:
    vector<int> twoOutOfThree(vector<int>& nums1, vector<int>& nums2, vector<int>& nums3) {
    sort(nums1.begin(),nums1.end());
    nums1.erase(unique(nums1.begin(),nums1.end()),nums1.end());
    sort(nums2.begin(),nums2.end());
    nums2.erase(unique(nums2.begin(),nums2.end()),nums2.end());
    sort(nums3.begin(),nums3.end());
    nums3.erase(unique(nums3.begin(),nums3.end()),nums3.end());
    vector<int>res;
    for(int i=0;i<nums1.size();i++)
    {
    res.push_back(nums1[i]);
    }
    for(int i=0;i<nums2.size();i++)
    {
    res.push_back(nums2[i]);
    }
    for(int i=0;i<nums3.size();i++)
    {
    res.push_back(nums3[i]);
    }
    map<int,int>mymap;
    for(int i=0;i<res.size();i++)
    {
    if(count(res.begin(),res.end(),res[i])>=2)
    {
    mymap[res[i]]=0;
    }
    }
    vector<int>vec;
    map<int,int>::iterator it;
    for(it=mymap.begin();it!=mymap.end();++it)
    {
    vec.push_back(it->first);
    }
    return vec;
    }
    };
    posted @   萧海~  阅读(26)  评论(0编辑  收藏  举报
    相关博文:
    阅读排行:
    · winform 绘制太阳,地球,月球 运作规律
    · AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
    · 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
    · 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
    · 上周热点回顾(3.3-3.9)
    点击右上角即可分享
    微信分享提示
    电磁波切换