​力扣解法汇总2032. 至少在两个数组中出现的值

news2024/7/4 4:54:18

目录链接:

力扣编程题-解法汇总_分享+记录-CSDN博客

GitHub同步刷题项目:

https://github.com/September26/java-algorithms

原题链接:力扣


描述:

给你三个整数数组 nums1nums2 和 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

解题思路:

* 解题思路:
* 用一个map来记录出现的次数,key为出现的数字,value为出现的次数,则最终map中value超过2的key就是符合要求的数字。
* 但是存在一个问题,就是一个数组多存在多个相同数字的情况,所以我们使用一个set来过滤

代码:

public class Solution2032 {

    public List<Integer> twoOutOfThree(int[] nums1, int[] nums2, int[] nums3) {
        Map<Integer, Integer> map = new HashMap<>();
        HashSet<Integer> set = new HashSet<>();
        for (int i : nums1) {
            if (set.contains(i)) {
                continue;
            }
            set.add(i);
            Integer num = map.getOrDefault(i, 0);
            map.put(i, num + 1);
        }
        set.clear();
        for (int i : nums2) {
            if (set.contains(i)) {
                continue;
            }
            set.add(i);
            Integer num = map.getOrDefault(i, 0);
            map.put(i, num + 1);
        }
        set.clear();
        for (int i : nums3) {
            if (set.contains(i)) {
                continue;
            }
            set.add(i);
            Integer num = map.getOrDefault(i, 0);
            map.put(i, num + 1);
        }
        return map.entrySet().stream().filter(entry -> entry.getValue() >= 2).map(Map.Entry::getKey).collect(Collectors.toList());
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/127077.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

At and Cron and Scheduling task

1.at 一次性任务 一次性使用&#xff0c;执行某条命令或者脚本&#xff0c;守护进程atd,默认安装以及开机启动。在输入完命令的时候&#xff0c;按CtrlD结束 now 5min 现在过后5分钟 teatime tomorrow 明天的下午茶时间-4点 noon 中午 5pm august 3 2016 2016年八月3号的下午5点…

linux平台下node cnpm的安装方法

linux node cnpm的安装方法&#xff1a;1、下载linux版的node&#xff0c;并放在“/home/node/”目录下 &#xff1b;2、打开linux解压缩下gz&#xff1b;3、回到根目录&#xff0c;建立软连接&#xff1b;4、通过“npm install -g cnpm --registryhttps://registry.npm.taobao…

4、MYSQL常用函数(日期和时间函数)

目录 curdate&#xff08;&#xff09;&#xff1a;返回当前日期 curtime&#xff08;&#xff09;&#xff1a;返回当前时间 now&#xff08;&#xff09;&#xff1a;返回当前日期和时间 unix_timestamp&#xff08;date&#xff09;&#xff1a;返回date的unix时间函数 fro…

再学C语言18:循环控制语句——while循环

3种基本的程序流&#xff1a;顺序、循环、分支 3种循环程序流&#xff1a;while、do while、for 伪代码&#xff08;pseudocode&#xff09;&#xff1a;一种用简单的英语表示程序的方法&#xff0c;与计算机语言的形式相对应&#xff1b;伪代码有助于设计程序的逻辑 while循…

Python语言快速入门下2

目录 一、前言 二、字符串 【字符串】 【字符串格式化】 【字符串常用方法】 1&#xff09;去掉空格和特殊字符 3&#xff09;字符串的测试和替换函数 4&#xff09;字符串的分割 5&#xff09;连接字符串 6&#xff09;截取字符串&#xff08;切片&#xff09; 7&a…

2022年「博客之星」,花落谁家? 大家来竞猜吧

一年一度的「博客之星」大赛如火如荼地进行着&#xff0c;大家都忙着评分、发帖、回帖.....今天发现我在分组的排名只有40多名&#xff0c;基本上算是放弃了。但是&#xff0c;看到本文的朋友&#xff0c;还是可以帮我拉拉票的&#xff01;请点开链接给个五星评分&#xff1a; …

Linux下安装Fastdfs

一、前期准备工作 1、需要提前下载的安装包&#xff1a; &#xff08;1&#xff09;libfatscommon-1.0.43&#xff1a;FastDFS分离出的一些公用函数包 &#xff08;2&#xff09;fastdfs-6.06&#xff1a;FastDFS本体包 &#xff08;3&#xff09;nginx&#xff1a;nginx-1.2…

服装行业进销存软件哪个好?

好用的进销存软件有以下评判标准&#xff1a; 1. 能否为企业带来效益。理清自身在进销存管理中的难点以及进销存软件需要具备的功能。 2. 是否简单实用&#xff0c;人员是否上手容易。选购软件不易太复杂&#xff0c;会给前期软件使用造成人力、物力等压力。 3. 进销存软件的…

【SpringBoot应用篇】SpringBoot集成AntiSamy防御XSS(跨站脚本攻击)--过滤器实现

【SpringBoot应用篇】SpringBoot集成AntiSamy防御XSS&#xff08;跨站脚本攻击&#xff09;--过滤器实现XSS介绍AntiSamy介绍AntiSamy使用pomUserUserControllerXssFilterXssRequestWrapper配置类XSS介绍 XSS&#xff1a;跨站脚本攻击(Cross Site Scripting)&#xff0c;为不和…

4、MYSQL常用函数(字符串)

目录 abs&#xff08;x&#xff09;&#xff1a;返回x的绝对值 ceil&#xff08;x&#xff09;&#xff1a;返回大于x的最小整数 floor&#xff08;x&#xff09;&#xff1a;返回小于x的最大整数 mod&#xff08;x,y&#xff09;&#xff1a;返回x/y的模 Rand&#xff08;&a…

分析激光焊接机焊接不牢固的原因

激光焊接机在焊接时为什么会出现焊接不牢固呢&#xff1f;是不是激光焊接设备出现问题了&#xff1f;当激光焊接机进行焊接加工时&#xff0c;出现材料之间的焊接不牢固这会影响整体质量。这时&#xff0c;用户不可避免地会质疑激光焊接机的效果我们也是可以理解的。实质出现激…

javaEE初阶---多线程(初阶)

一 : 学习目标 认识多线程掌握多线程程序的编写掌握多线程的状态掌握什么是线程不安全及解决思路掌握synchronized、volatile关键字 二 : 初识线程 2.1 线程概念 线程&#xff08;thread&#xff09;是操作系统能够进行运算调度的最小单位.它被包含在进程之中&#xff0c;是进…

django使用二——restful框架使用

背景 前言&#xff1a; 前篇django使用一&#xff0c;已将基本的项目、应用创建并运行&#xff1b;见&#xff1a;django使用一——规范化创建 本篇则针对ViewSet及rest_framework初使用做介绍&#xff1b; 闲笔&#xff1a; 两束平行宇宙射线射入黑盒&#xff0c;在人们充满…

《计算机网络》——第六章知识点

第六章思维导图如下&#xff1a; 应用层对应用程序的通信提供服务。 域名解析:根据域名找IP地址 域名结构 FTP是基于客户/服务器(C/S)的协议。 用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。依照FTP协议提供服务&#xff0c;进行文件传送的计算机就是FTP服…

对象类型的设计(简答题)

在实际项目开发中需要进行对象类型的设计&#xff0c;给你的问题是&#xff0c;在学生信息系统中需要你设计班级Classes类型和学生Student类型&#xff0c;为了便于数据的查询&#xff0c;需要建立对象之间的联系&#xff0c;比如一个班级有多个学生&#xff0c;每个学生属于一…

看完这篇,我不允许你还不会用Allegro显示PCB的3D模式

看完这篇,我不允许你还不会用Allegro显示PCB的3D模式 Allegro可以显示PCB的3D效果,利于查看和检查,如下图 具体操作如下 选择Set-up-user preferences选择Display

游戏党别错过,提升FPS试试这样

如果你准备畅玩游戏&#xff0c;却频繁掉帧&#xff0c;严重影响游戏体验&#xff0c;那这里有些提升FPS的小方法&#xff0c;游戏党别错过了。 整理主硬盘更改电源选项更新显卡驱动降低屏幕分辨率关闭其他应用程序并禁用启动项 方法一、整理主硬盘 1、打开文件资源管理器&am…

APP Inventor练习——蓝牙通信

文章目录前言一、蓝牙调试1.组件设计2.逻辑设计二、蓝牙对战1.组件设计2.逻辑设计3.效果展示总结前言 练习APP Inventor中蓝牙的使用&#xff0c;并为之前的项目APP小游戏——一个都不能死增加了蓝牙对战功能。 一、蓝牙调试 先写一个蓝牙调试的APP&#xff0c;用来收发文本 …

2023年七大网络攻击手段预测

受疫情和网络攻击的加持下&#xff0c;2022年对网络安全领域的人来说并不是轻松的一年&#xff0c;一系列备受瞩目的网络攻击、数据泄露事件打的网安人手忙脚乱&#xff0c;供应链攻击、勒索软件攻击、业务欺诈、关键基础设施攻击、大规模数据泄露、地缘政治相关黑客攻击等网络…

热点舆情监测软件方法,舆情监测软件介绍,舆情软件监测意义?

热点舆情监测是指监测和分析当前热门话题或事件的舆情监测。这种监测可以帮助企业、政府机构或媒体机构了解公众对当前热门话题或事件的看法&#xff0c;接下来TOOM舆情监测小编简单介绍热点舆情监测软件方法&#xff0c;舆情监测软件介绍&#xff0c;舆情软件监测意义? 一、…