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

标签 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
    }
}

最佳答案

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

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

关于java - 从给定整数数组中查找最接近中间范围的数字的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32401466/

相关文章:

java - 为什么新对象保留旧对象的属性?

java - GAE/J : How do I POST a Multipart MIME message from appengine to facebook

python - 对象没有属性-python类执行

java - 计算对象的年龄有什么好处?

java - Java 中的日期排序

ruby - 为什么我自己的模块和方法从 IRB 得到 NoMethodError

java - 在子类中实现 Setter/Getter 的最佳实践?

java - 使用 .equals() 和 == 运算符比较两个对象

java - 求交错字符串递归算法的计算复杂度

Java - 使用 FileOutputStream 将数据附加到同一 Excel 文件