给定两个字符串数组 a 和 b,每个都按字母顺序排列,我想返回两个数组中匹配的字符串数。
public int countMatch(String[] a, String[] b) {
}
我的目标是能够按如下方式调用该方法;
countMatch({"apple", "banana", "xylophone"}, {"banana", "carrot", "dog", "xray", "xylophone"});
它应该返回 int 值 2,因为有两个字符串匹配每个数组(“banana”和“xylophone”)。
请务必注意,如果这有助于解决问题,那么数组将始终按字母顺序排列。
最佳答案
一旦对这些数组进行排序,您就可以执行以下操作:
您将有两个变量:i
和 j
. 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/