LeetCode 每日一题——2032. 至少在两个数组中出现的值

2023-05-16

1.题目描述

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

2.解题思路与代码

2.1 解题思路

使用三位二进制数字进行解答,其中 1 表示出现,0 表示未出现以 101 为例:

题目说 nums[i] 的范围是 [1, 100],因此使用一个 101 长度的数组 tmp 存放 nums1、nums2、nums3 三个数组中数字出现的情况,其中角标 i 为数字,tmp[i] 为该数在 三个数组中出现的情况统计。统计完 tmp 数组之后,需要判断哪些数字出现在至少两个数组中,也就是只有 011、101、110、111 四种情况时才属于满足条件的,即 tmp[i] 的值为3、5、6、7时将角标 i 放入结果列表中。

2.2 代码

class Solution {
    public List<Integer> twoOutOfThree(int[] nums1, int[] nums2, int[] nums3) {
        int[] tmp = new int[101];
        for (int i : nums1) {
            tmp[i] |= 1;
        }
        for (int i : nums2) {
            tmp[i] |= 1 << 1;
        }
        for (int i : nums3) {
            tmp[i] |= 1 << 2;
        }
        List<Integer> ans = new ArrayList<>();
        for (int i = 0; i < tmp.length; i++) {
            int n = tmp[i];
            if (n == 3 || n == 5 || n == 6 || n == 7) {
                ans.add(i);
            }
        }
        return ans;

    }
}

2.3 测试结果

通过测试

测试结果

3.总结

  • 使用二进制记录数字在三个数组出现的情况
  • 判断统计结果是否为3、5、6、7便能够知道数字是否出现在至少两个以上数组中
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LeetCode 每日一题——2032. 至少在两个数组中出现的值 的相关文章

  • SpringBoot如何整合邮箱服务实现登录验证功能

    写在前面 这里主要讲解大致思路 详细代码 xff08 目前部分功能还在开发完善中 xff09 请见这里 如果个人用户还是想白嫖短信服务的话 xff0c 可以看看我的这篇博客 一 开启 POP3 SMTP服务 获得的授权码 这里以qq邮箱为例

随机推荐

  • 手动创建和挂载SWAP分区

    手动创建和挂载SWAP分区 在安装系统的时候很难决定多大的交换空间 xff0c 往往需要根据服务器实际负载 运行情况 以及未来可能应用来综合考虑 swap 分区的大小 xff0c 所以这里参考推荐最小 swap 大小更实际一些 xff1a
  • python中处理字符编码问题

    NO 1认识字符编码 GBK win默认中文字符编码是 xff1a GBK Unicode xff08 统一码 万国码 单一码 xff09 是计算机科学领域里的一项业界标准 xff0c 包括字符集 编码方案等 Unicode 是为了解决传统
  • python中if not的用法

    python中空的概念 xff1a 在python中 xff1a None False 0 空列表 空字典 空元祖 都相当于false coding utf 8 x 61 39 39 0 False None 1 x为真 故not x 为假
  • python实现文件上传下载的功能socket编程(基础版)

    环境介绍 xff1a 项目路径 xff1a 服务端执行过程 xff1a 客户端执行过程 xff1a 上传成功截图 xff1a 服务端代码 xff1a import socket file server 61 socket socket fi
  • -bash: java: command not found (Linux)

    原因 xff1a 安装jdk后没有配置环境变量 1 编辑配置文件 xff0c 配置环境变更 vim etc profile 在最下面添加 export JAVA HOME 61 usr local jdk8 export PATH 61 P
  • idea使用本地代码远程调试线上运行代码---windows环境

    场景 xff1a 今天在书上看了一个代码远程调试的方法 xff0c 自己本地验证了一下感觉十分不错 xff01 xff01 windows环境 xff1a 启动测试jar包 xff1a platform multiappcenter bas
  • anaconda:安装cuda和对应版本的cudnn

    复现别人论文的时候经常遇到不同的cuda版本 xff0c 可以使用anaconda创建虚拟环境 xff0c 并在不同的虚拟环境中配置对应的cuda版本 1 安装anaconda及虚拟环境使用 Anaconda多个python版本 xff08
  • Linux Server 种脚本自动执行

    在我们用python编写完脚本后 xff0c 时常需要定时运行我们的脚本 在这里 xff0c 我为大家介绍两种常用定时执行python脚本文件的方式 xff1a 第一种 xff1a crontab job 在Linux系统中可以通过设置cr
  • Tomcat9配置HTTP/2

    1 概述 Tomcat从Tomcat8的一些较新版本就支持HTTP 2了 xff0c Tomcat9直接支持 xff0c 本文首先讲述了相关HTTP 2的特性 xff0c 接着利用一个简单的开源工具mkcert生成证书并利用该证书配置HTT
  • SVN提交代码报错,怎么破?

    目录 SVN提交代码报错1 SVN提交被锁定 xff08 locked xff09 2 SVN提交已存在版本控制信息 xff08 is already under version control xff09 SVN提交代码报错 1 SVN提
  • Hive隐藏分割字符\001替换为可见字符

    Hive默认的分隔符是 001 xff0c 属于不可见字符 xff0c 这个字符在vi里是 A 一个文本0000 0 xff0c 直接cat内容如下 xff1a 320643204N2559613979 320828796N446323 3
  • 计算机毕业设计 HTML+CSS+JavaScript食品餐饮行业网站(10页)

    x1f380 精彩专栏推荐 x1f447 x1f3fb x1f447 x1f3fb x1f447 x1f3fb 作者简介 一个热爱把逻辑思维转变为代码的技术博主 x1f482 作者主页 主页 x1f680 获取更多优质源码 x1f393 w
  • 基于Redis实现的布隆过滤器

    一 RedisTemplate 1 首先将guava实现的本地的布隆过滤器的算法代码拿过来 span class token comment 算法过程 xff1a 1 首先需要k个hash函数 xff0c 每个函数可以把key散列成为1个整
  • Canal和Kafka整合方案——解决Canal写入Kafka并发消费问题

    文章目录 一 问题描述二 引入Kafka1 Canal整合Kafka及项目初步搭建2 整合Kafka后引出新问题 三 最终方案1 修改Canal配置文件2 修改项目代码3 整体架构4 结果验证 四 总结思考五 参考 一 问题描述 在使用Ca
  • 解决项目版本冲突——maven-shade插件使用

    文章目录 背景maven shade plugin介绍解决问题1 环境准备2 解决方案3 引入依赖 一些需要注意的坑maven shade plugins的其他使用 背景 当我们在maven项目中引入第三方组件时 xff0c 三方组件中的依
  • 通关剑指 Offer——剑指 Offer II 055. 二叉搜索树迭代器

    1 题目描述 剑指 Offer II 055 二叉搜索树迭代器 实现一个二叉搜索树迭代器类BSTIterator xff0c 表示一个按中序遍历二叉搜索树 xff08 BST xff09 的迭代器 xff1a BSTIterator Tre
  • 通关剑指 Offer——剑指 Offer II 056. 二叉搜索树中两个节点之和

    1 题目描述 剑指 Offer II 056 二叉搜索树中两个节点之和 给定一个二叉搜索树的 根节点 root 和一个整数 k 请判断该二叉搜索树中是否存在两个节点它们的值之和等于 k 假设二叉搜索树中节点的值均唯一 示例 1 xff1a
  • LeetCode 每日一题——1759. 统计同构子字符串的数目

    1 题目描述 1759 统计同构子字符串的数目 难度中等43 给你一个字符串 s xff0c 返回 s 中 同构子字符串 的数目 由于答案可能很大 xff0c 只需返回对 109 43 7 取余 后的结果 同构字符串 的定义为 xff1a
  • LeetCode 每日一题——1750. 删除字符串两端相同字符后的最短长度

    1 题目描述 1750 删除字符串两端相同字符后的最短长度 给你一个只包含字符 a xff0c b 和 c 的字符串 s xff0c 你可以执行下面这个操作 xff08 5 个步骤 xff09 任意次 xff1a 选择字符串 s 一个 非空
  • LeetCode 每日一题——2032. 至少在两个数组中出现的值

    1 题目描述 2032 至少在两个数组中出现的值 给你三个整数数组 nums1 nums2 和 nums3 xff0c 请你构造并返回一个 元素各不相同的 数组 xff0c 且由 至少 在 两个 数组中出现的所有值组成 数组中的元素可以按