在java中查找两个数组之间的公共最小值

昨天我在求职面试中做了一个关于 codility 的测试。这是第二个问题,我仍然想不出解决方案。您必须在不删除或添加行的情况下找到代码中的错误。我添加了一个 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;

    }

}


aluckdog
浏览 248回答 1
1回答

胡说叔叔

假设 a 和 b 是您的整数数组,那么您可以使用如下代码段:int commonMin = Integer.MAX_INTEGER;for (int i=0; i<b.length; i++) {&nbsp; if (Arrays.asList(a).contains(b[i])) {&nbsp; &nbsp; if (b[i] < commonMin){&nbsp; &nbsp; &nbsp; commonMin = b[i];&nbsp; &nbsp; }&nbsp; }}System.out.print(commonMin);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java