在Java中找到两个数组之间的公共最小值

时间:2018-11-01 18:41:03

标签: java

昨天我接受了一次关于面试的能力测试。这是第二个问题,我仍然想不出解决方案。您必须在代码中找到错误,而无需删除或添加行。我添加了一个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;
    }
}

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);