当前位置: 首页 > news >正文

算法刷题打卡第99天:至少在两个数组中出现的值

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

难度:简单

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

示例 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]
输出:[]
解释:不存在至少在两个数组中出现的值。

哈希表

思路:

题目给出三个整数数组 nums1\textit{nums}_1nums1nums2\textit{nums}_2nums2nums3\textit{nums}_3nums3 。现在我们需要求一个元素各不相同的数组,其中的元素为至少在数组 nums1\textit{nums}_1nums1nums2\textit{nums}_2nums2nums3\textit{nums}_3nums3 中两个数组出现的全部元素。

我们可以用「哈希表」来实现——由于只有三个数组,我们可以弄一个列表来代替,如果第一个列表出现,则列表的第一个值为1,以此类推,最后统计列表中 1 的个数,达到两个及以上则加入结果列表。

复杂度分析:

  • 时间复杂度: O(n1+n2+n3)O(n_1 + n_2 + n_3)O(n1+n2+n3),其中 n1n_1n1n2n_2n2n3n_3n3 分别为数组 nums1\textit{nums}_1nums1nums2\textit{nums}_2nums2nums3\textit{nums}_3nums3 的长度。
  • 空间复杂度: O(n1+n2+n3)O(n_1 + n_2 + n_3)O(n1+n2+n3),其中 n1n_1n1n2n_2n2n3n_3n3 分别为数组 nums1\textit{nums}_1nums1nums2\textit{nums}_2nums2nums3\textit{nums}_3nums3 的长度,主要为哈希表的空间开销。
class Solution:def twoOutOfThree(self, nums1: List[int], nums2: List[int], nums3: List[int]) -> List[int]:count = dict()for x, nums in enumerate((nums1, nums2, nums3)):for i in nums:if i not in count:count[i] = [0, 0, 0]count[i][x] = 1return [key for key, value in count.items() if value.count(1) > 1]

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/two-out-of-three

相关文章:

算法刷题打卡第99天:至少在两个数组中出现的值

至少在两个数组中出现的值 难度:简单 给你三个整数数组 nums1、nums2 和 nums3 ,请你构造并返回一个 元素各不相同的 数组,且由 至少 在 两个 数组中出现的所有值组成。数组中的元素可以按 任意 顺序排列。 示例 1: 输入&…...

线程池面试题

1. 什么是线程池?为什么要使用线程池? 线程池是一种用于管理线程的技术,它可以在应用程序中重复使用一组线程来执行多个任务。线程池的优点包括提高应用程序的性能和可伸缩性、避免线程创建和销毁的开销、避免线程过多导致系统负担过重等。线…...

【学习笔记】NOIP爆零赛5

说实话是不想补题的。因为每一道题都贼难写,题解又通篇写着显然,然后自己天天搞竞赛又把注意力搞差了,调一道题又调半天,考试的题又难的要死 不会正解 ,部分分又写挂了 可能心态崩了就是从那场t1t1t1签到题考高精度数位…...

【数据结构】时间复杂度

🚀write in front🚀 📜所属专栏:初阶数据结构 🛰️博客主页:睿睿的博客主页 🛰️代码仓库:🎉VS2022_C语言仓库 🎡您的点赞、关注、收藏、评论,是对…...

vector的基本使用

目录 介绍: vector iterator 的使用 增删查改 增(push_back insert): 删(pop_back erase): swap: vector的容量和扩容: 排序(sort): 介绍&#xff…...

剑指 Offer 55 - I. 二叉树的深度

摘要 剑指 Offer 55 - I. 二叉树的深度 一、深度优先搜索 如果我们知道了左子树和右子树的最大深度l和r,那么该二叉树的最大深度即为:max(l,r)1。 而左子树和右子树的最大深度又可以以同样的方式进行计算。因此我们可以用「深度优先搜索」的方法来计…...

Bean的生命周期和作用域

Bean的生命周期Bean的执行流程:Bean 执行流程:启动Spring 容器 -> 实例化 Bean(分配内存空间,从无到有)-> Bean 注册到 Spring 中(存操作) -> 将 Bean 装配到需要的类中(取…...

TestNG和Junit的区别,测试框架该如何选择?

要想知道两个框架的区别,首先分别介绍一下两个框架。 TestNG是一个java中的开源自动化测试框架,其灵感来自JUnit和NUnit,TestNG还涵盖了JUnit4整个核心的功能,但引入了一些新的功能,使其功能更强大,使用更…...

MySQL安全登录策略

MySQL密码复杂度策略设置 MySQL 系统自带有 validate_password 插件,此插件可以验证密码强度,未达到规定强度的密码则不允许被设置。MySQL 5.7 及 8.0 版本默认情况下貌似都不启用该插件,这也使得我们可以随意设置密码,比如设置为…...

优化模型验证23:带无人机停靠站的卡车无人机协同配送车辆路径问题、模型、gurobipy验证及结果可视化

带中转hub的卡车无人机车辆路径问题 模型来源为:Wang Z , Sheu J B . Vehicle routing problem with drones[J]. Transportation Research Part B: Methodological, 2019, 122(APR.):350-364. 问题描述: 这篇问题研究了一个带停靠站的卡车无人机路径问题,无人机仅能从起点…...

mongoTemplate Aggregation 多表联查 排序失效问题解决

目录说明说明 接着上一个文章的例子来说:mongoTemplate支持多表联查 排序 条件筛选 分页 去重分组 在按照上一个demo的代码执行后,可能会发生排序失效的问题,为什么说可能呢?每个人负责业务不同,不可能是最简单的dem…...

什么是智慧实验室?

智慧实验室是利用现代信息技术和先进设备将实验室实现智能化和智慧化的概念。通过将各种数据、信息和资源整合在一起,实现实验室设备的互联互通,数据的实时采集、传输、处理和分析,从而提高实验室的效率、精度和可靠性。一、智慧实验室包含多…...

Python abs() 函数

Python abs() 函数Python 数字描述abs() 函数返回数字的绝对值。语法以下是 abs() 方法的语法:abs( x )参数x -- 数值表达式。返回值函数返回x(数字)的绝对值。实例以下展示了使用 abs() 方法的实例:#!/usr/bin/python print "abs(-45) …...

裸辞了,面试了几十家软件测试公司,终于找到想要的工作

上半年裁员,下半年裸辞,有不少人高呼裸辞后躺平真的好快乐!但也有很多人,裸辞后的生活五味杂陈。 面试了几十家终于找到心仪工作 因为工作压力大、领导PUA等各种原因,今年2月下旬我从一家互联网小厂裸辞,没…...

ShardingSphere

1.简介 1.开源的分布式数据生态项目 ShardingSphere-JDBC:轻量级Java框架ShardingSphere-Proxy:数据库代理ShardingSphere-Sidecar(规划中):Kubernetes的云原生数据库代理 2.使用版本:ShardingSphere5.1.1 1.数据库集群架构 1.出现…...

配置Maven

对于刚开始认识的Maven的初学者超级有用的哦!项目统一共享使用一套jar包,由maven统一管理。节省了jar空间,统一jar包版本首先将maven安装完毕测试有没有配置完成,在命令框里面打 mvn -version进行测试maven安装完,第一…...

赛宁网安“网络安全卓越中心”:立足科技创新 推动网安产业高质量发展

​​2月22日上午,网络安全卓越中心CPCOE——圆桌论坛活动在南京召开。本次论坛由南京未来科技城主办,南京赛宁信息技术有限公司承办。论坛上,江苏省科协副主席、南京理工大学教授李千目,江苏省互联网协会副理事长兼秘书长刘湘生&a…...

操作系统题目收录(十四)

1、 有些操作系统中将文件描述信息从目录项中分离出来,这样做的好处是()。 A:减少读文件时的I/O信息量B:减少写文件时的I/O信息量C:减少查找文件时的I/O信息量D:减少复制文件时的I/O信息量 解…...

Qt 第1课、Qt 的窗口组件和窗口类型

GUI 程序的开发原理: GUI 程序在运行的时候,操作系统会为它创造一个消息队列,消息队列用于存储操作系统发过来的系统消息。 用户使用操作系统的过程中,操作系统内核检测到用户的操作(鼠标,键盘&#xff09…...

【Jmeter】ForEach控制器

一、什么是ForEach控制器 ForEach控制器是遍历某个数组读取不同的变量值,来控制其下的采样器或控制器执行一次或多次。而这个数组可以是用户自定义变量,也可以是从前面接口请求中提取到需要的数据,然后进行遍历循环。 二、ForEach控制器相关…...

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…...

云计算——弹性云计算器(ECS)

弹性云服务器:ECS 概述 云计算重构了ICT系统,云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台,包含如下主要概念。 ECS(Elastic Cloud Server):即弹性云服务器,是云计算…...

简易版抽奖活动的设计技术方案

1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理:刘治强,浙江大学硕士生,研究方向为知识图谱表示学习,大语言模型 论文链接:http://arxiv.org/abs/2407.16127 发表会议:ISWC 2024 1. 动机 传统的知识图谱补全(KGC)模型通过…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...

CSS | transition 和 transform的用处和区别

省流总结: transform用于变换/变形,transition是动画控制器 transform 用来对元素进行变形,常见的操作如下,它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...

基于PHP的连锁酒店管理系统

有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

tauri项目,如何在rust端读取电脑环境变量

如果想在前端通过调用来获取环境变量的值&#xff0c;可以通过标准的依赖&#xff1a; std::env::var(name).ok() 想在前端通过调用来获取&#xff0c;可以写一个command函数&#xff1a; #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...

在golang中如何将已安装的依赖降级处理,比如:将 go-ansible/v2@v2.2.0 更换为 go-ansible/@v1.1.7

在 Go 项目中降级 go-ansible 从 v2.2.0 到 v1.1.7 具体步骤&#xff1a; 第一步&#xff1a; 修改 go.mod 文件 // 原 v2 版本声明 require github.com/apenella/go-ansible/v2 v2.2.0 替换为&#xff1a; // 改为 v…...

数据库正常,但后端收不到数据原因及解决

从代码和日志来看&#xff0c;后端SQL查询确实返回了数据&#xff0c;但最终user对象却为null。这表明查询结果没有正确映射到User对象上。 在前后端分离&#xff0c;并且ai辅助开发的时候&#xff0c;很容易出现前后端变量名不一致情况&#xff0c;还不报错&#xff0c;只是单…...