华为OD机试真题 Java 实现【统计匹配的二元组个数】【2023Q2 200分】

news/2025/2/7 9:55:49/

在这里插入图片描述

一、题目描述

给定两个数组A和B,若数组A的某个元素A[i]与数组B中的某个元素B[j]满足 A[i] == B[j],则寻找到一个值匹配的二元组(i, j)。

请统计在这两个数组A和B中,一共存在多少个这样的二元组。

二、输入描述

第一行输入数组A的长度M;
第二行输入数组B的长度N;
第三行输入数组A的值;
第四行输入数组B的值。

1 <= M, N <= 100000

A, B数组中数值的取值均小于100000;

三、输出描述

输出匹配的二元组个数。

四、补充说明

若不存在相等的值,则输出0。

所采用的算法复杂度需小于O(N2),否则会超时。输入数组中允许出现重复数字,一个数字可以匹配多次。

五、Java算法源码

public static void main(String[] args) {Scanner in = new Scanner(System.in);// 数组A的长度Mint M = in.nextInt();// 数组B的长度Nint N = in.nextInt();//数组A的值int[] A = new int[M];for (int i = 0; i < M; i++) {A[i] = in.nextInt();}//数组B的值int[] B = new int[N];for (int i = 0; i < N; i++) {B[i] = in.nextInt();}Map<Integer, Integer> map = new HashMap<Integer, Integer>();for (int a : A) {map.put(a, map.getOrDefault(a, 0) + 1);}int sum = 0;for (int b : B) {sum += map.getOrDefault(b, 0);}// 输出匹配的二元组个数System.out.print(sum);
}

六、效果展示

1、输入

5
4
1 2 3 4 5
4 3 2 1

2、输出

4

3、说明

若下标从0开始,则匹配的二元组分别为(0, 3), (1, 2), (2, 1), (3, 0), 共计4个。

在这里插入图片描述


🏆下一篇:华为OD机试真题 Java 实现【获得完美走位】【2023Q1 100分】

🏆本文收录于,华为OD机试(JAVA)(2022&2023)

本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。

在这里插入图片描述


http://www.ppmy.cn/news/77297.html

相关文章

K8s日志组件-Loki是如何存储数据的?

文章目录 为什么需要loki为什么不是EFK&#xff1f;Loki是如何存储数据的&#xff1f;底层的LSM treeB tree 和LSM tree的区别&#xff1f;Ref参考链接 为什么需要loki 日志记录本质上是一个事件。大多数语言、应用程序框架或库都支持日志&#xff0c;表现形式可以是字符串这样…

纯手写pyqt界面

from PyQt5.Qt import * import loggingclass Ui(QWidget):def __init__(self):super().__init__()self.ui()def ui(self):self.label_list [self.__creat_label() for _ in range(10)] #创建10个标签self.btn_list [self.__creat_buttons(objnamefbtn-{i},textfbutton-{i})…

Linux系统编程总结

day2 vim的三种工作模式 命令模式 vi hello.c zz 保存退出 2.编辑模式 i a o s &#xff08;有大写&#xff09;可以写东西 3.末行模式&#xff1a; 文本和末行模式不能直接切换 要切换回命令模式 再到末行模式&#xff0c;w:保存 q:退出 按两次esc回到命令模式 vim的基本…

SCSI介绍和SCSI命令承载于各类总线的方式

1. SCSI协议简介 小型计算机系统接口(SCSI&#xff0c;Small Computer System Interface&#xff09;是一种用于计算机及其周边设备之间&#xff08;硬盘、软驱、光驱、打印机、扫描仪等&#xff09;系统级接口的独立处理器标准。虽然名字里面带个接口&#xff0c;但实际上是一…

大Op和小op的含义及理解

大Op和小op的含义及理解 Stochastic order notation(随机有序符号)6.1.1 O p O_p Op​和 o p o_p op​之间的关系6.2 符号速记及其算数性质6.3 为什么 o p o_p op​和 O p O_p Op​符号很有用&#xff1f;6.4例子&#xff1a;均值估计的相合性参考&#xff1a; Stochastic orde…

登录应该是POST还是GET?

前言&#xff1a; 在开发web应用程序时&#xff0c;登录模块是经常使用到的一个模块。然而&#xff0c;对于一个登录请求&#xff0c;我们应该使用哪种HTTP方法呢&#xff1f;是使用POST还是GET呢&#xff1f;本篇文章将会给出答案。 POST和GET&#xff1a; 在web开发中&…

@Qualifier注解详解

本文来说下Qualifier注解使用 文章目录 Autowired注解Qualifier注解Primary注解 Resource注解 Autowired注解 spring Autowire 的注解默认是按类型注入bean 如果存在多个实现类&#xff0c;可以使用 Qualifier注解 Qualifier注解 Primary注解 存在多个实现类&#xff0c;也可以…

解决大文件传输难题的方法和技巧

传统的传输大文件的方式&#xff0c;如电子邮件附件或USB驱动器&#xff0c;由于文件大小的限制和安全问题&#xff0c;变得越来越不方便。大文件共享是现代商业通信的一个重要方面&#xff0c;组织需要安全可靠的方式来传输这些文件。 传统文件传输方式的不便 传统的文件传输方…