题目描述
给定两个数组a,b,若a[i] == b[j] 则称 [i, j] 为一个二元组,求在给定的两个数组中,二元组的个数。
输入描述:
第一行输入 m
第二行输入m个数,表示第一个数组
第三行输入 n
第四行输入n个数,表示第二个数组
输出描述:
二元组个数。
示例1:
输入:
4
1 2 3 4
1
1
输出:
1
示例2:
输入:
4
1 1 2 2
3
2 2 4
输出:
4
解题思路
使用两个 HashMap 分别存储数组 a 和数组 b 中元素的出现次数。HashMap的key是元素,value为该元素出现的次数。
遍历数组 a 对应的 HashMap。对于每个元素,检查该元素是否在数组 b 的 HashMap 中存在。如果存在,则将数组 a 中元素的出现次数乘以数组 b 中元素的出现次数,累加到结果中。
参考代码
本文介绍了华为在线开发者测试中的一道题目,要求计算两个数组中匹配的二元组个数。解题思路是使用HashMap存储数组元素的出现次数,然后遍历并相乘累加。示例及参考代码详细说明了实现过程。
订阅专栏 解锁全文
31万+

被折叠的 条评论
为什么被折叠?



