java - 计算Java中两个数组中匹配的字符串数

标签 java arrays sorting match

给定两个字符串数组 a 和 b,每个都按字母顺序排列,我想返回两个数组中匹配的字符串数。

public int countMatch(String[] a, String[] b) {

}

我的目标是能够按如下方式调用该方法;

countMatch({"apple", "banana", "xylophone"}, {"banana", "carrot", "dog", "xray", "xylophone"});

它应该返回 int 值 2,因为有两个字符串匹配每个数组(“banana”和“xylophone”)。

请务必注意,如果这有助于解决问题,那么数组将始终按字母顺序排列。

最佳答案

一旦对这些数组进行排序,您就可以执行以下操作:

您将有两个变量:ij . First 将遍历第一个数组,second 遍历第二个。

然后你比较a[i]b[j] . 如果它们相等,则匹配,并且您可以提高两个索引。 如果它们不相等,那么 advance index 位于 word 较小的位置(if a[i] < b[j] advance i else j)。

关于java - 计算Java中两个数组中匹配的字符串数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29293173/

相关文章:

javascript - 在两个数组javascript之间查找重复项的最快方法

php - 传递给 array_sort() 的参数 2 必须是可调用的,给定字符串

c# - 并行双向选择排序

java和haarcascade人脸和嘴巴检测——嘴当 Nose

java - 设置 boolean 方法总是输出true?

java - 运行时指定的数组/ArrayList 的维数

mysql - 如何从 2 个表中获取 MySQL 的排名?

java - 使用 <object> 标记的 Java Applet 中的 ClassNotFoundException

java - Aether,如何获得与层次结构的依赖关系

javascript - Vue.js v-model 数据对象