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

这篇博客介绍了华为在线开发者(OD)机试的一道真题,要求统计数组A和B中匹配的二元组个数。题目要求算法复杂度小于O(N^2),博主提供了Java解题思路和源码,通过Java8 Stream表达式实现,并展示了输入输出示例,匹配的二元组总数为2。
摘要由CSDN通过智能技术生成

在这里插入图片描述

一、题目描述

给定两个数组A和B,若数组A的某个元素A[i]与数组B中的某个元素B[j]满足 A[i] == B[j], 则寻找到一个值匹配的二元组(i, j). 请统计在这两个数组A和B中,一共存在多少个这样的二元组。

二、输入描述

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

1 <= M, N <= 100000

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

三、输出描述

输出匹配的二元组个数。

四、补充说明

若不存在相等的值,则输出0. 所采用的算法复杂度需小于O(N^2),否则会超时。输入数组中允许出现重复数字,一个数字可以匹配多次。

五、解题思路

这道题完全就是送分题,一定要好好把握,必须满分通过。

  1. 定义变量M,记录数组A的长度;
  2. 定义变量N,记录数组B的长度;
  3. 通过Java8的Stream表达式,获取数组a和数组b;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哪 吒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值