从给定整数数组中找到最接近中间范围的数字的方法

时间:2015-09-04 15:18:28

标签: java methods

这是我到目前为止所完成的事情。任何人都可以帮助我吗?

假设已知minmax

public static int closestValue(int[] x, int max, int min){
    int mid = (max - min) / 2;
    int y[] = new int[x.length];
    int m = 0;
    for (int i = 0; i < y.length; i++) {
       // I do not know what to put here
    }
}

1 个答案:

答案 0 :(得分:1)

要找到最接近的数字,您可以比较每个数字与中间数字之间的差异,并保持较小。

public static int closestValue(int [] x , int max, int min) {
    int mid  = (max - min)/2;
    int m = x[0];
    int dif = 0, currentDif = 0;
    for (int i = 1; i < x.length; i++)
    {
        dif = mid - x[i];
        currentDif = mid - m;
        if (dif * dif < currentDif *currentDif)
            m = x[i];
    }
    return m;
}