昨天我接受了一次关于面试的能力测试。这是第二个问题,我仍然想不出解决方案。您必须在代码中找到错误,而无需删除或添加行。我添加了一个while循环,它可以正常编译,但变化不大。有什么办法吗?
import java.util.*;
class minimum {
int minimum(int[] A, int[] B) {
int n = A.length;
int m = B.length;;
Arrays.sort(A);
Arrays.sort(B);
int i = 0;
for (int k = 0; k < n; k++) {
if (i < m - 1 && B[i] < A[k])
i += 1;
if (A[k] == B[i])
return A[k];
}
return -1;
}
}
答案 0 :(得分:0)
假设a和b是您的整数数组,那么您可以使用如下代码:
int commonMin = Integer.MAX_INTEGER;
for (int i=0; i<b.length; i++) {
if (Arrays.asList(a).contains(b[i])) {
if (b[i] < commonMin){
commonMin = b[i];
}
}
}
System.out.print(commonMin);