搜索值最接近N的数组的索引-Java

海奇

谁能提供关于不使用API​​类就如何搜索数组中最接近无序数组N的值的任何建议?我不希望我的算法是线性时间。

执行此操作的一种方法是对数组进行排序,然后进行二元搜索吗?

有没有更有效的方法来做到这一点?

欧文·博尔维特(Erwin Bolwidt)

正如@ThomasPastircak所写,如果数组未排序,那么您将不会比线性时间性能更好。

将数组中的数据插入另一个数据结构将至少具有线性复杂度(因为需要将数组的所有元素插入其中),并且对其进行排序也将比线性复杂度差。

您的问题与“我如何在未排序的数组中搜索最大/最小数字”之间没有太大区别。您只是在寻找参考值N的最小差异。

一个简单的解决方案是:

public static int closest(double[] array, double n) {
    double leastDifference = Double.POSITIVE_INFINITY;
    int indexOfLeastDifference = -1;
    for (int a = 0; a < array.length; a++) {
        double difference = Math.abs(array[a] - n);
        if (difference < leastDifference) {
            indexOfLeastDifference = a;
            leastDifference = difference;
        }
    }
    return indexOfLeastDifference;
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Java:搜索数组中最接近的值

来自分类Dev

Java:搜索数组中最接近的值

来自分类Dev

返回数组中最接近值的索引

来自分类Dev

索引匹配使用多个搜索条件查找最接近的值

来自分类Dev

根据最接近的十进制值舍入-Java

来自分类Dev

如何从POJO属性中找到Java中最接近的值?

来自分类Dev

获取Java数组中n个最大值的索引

来自分类Dev

搜索最接近的值的核心数据

来自分类Dev

查找最接近给定值的索引

来自分类Dev

通过二进制搜索获取最接近值的索引

来自分类Dev

Excel索引/ Vlookup-绝对最接近或确切值的搜索列并突出显示

来自分类Dev

将数字四舍五入到Java数组中最接近的最高数字

来自分类Dev

Java如何遍历双精度数组并四舍五入到最接近的整数

来自分类Dev

如何在Matlab数组中数字搜索所有最接近零的值?

来自分类Dev

排序值最接近1的数组

来自分类Dev

从数组获取数字的最接近值

来自分类Dev

按最接近的值对数组排序

来自分类Dev

C#-从十进制数组中找到最接近的值的索引

来自分类Dev

查找其元素最接近一个值的数组索引

来自分类Dev

在Java集合中查找最接近的对象

来自分类Dev

在链表中搜索最接近设定值的值

来自分类Dev

查找最接近给定值的值并返回行索引

来自分类Dev

无法打印 java 数组索引值

来自分类Dev

从 Python 中排序的数组中最接近的数字返回索引

来自分类Dev

在python列表列表中搜索最接近的值

来自分类Dev

查找包含最接近的属性值的对象的List索引

来自分类Dev

添加索引(如果不存在)并复制最接近的值

来自分类Dev

返回与列表中给定值最接近的项目及其索引

来自分类Dev

通过最接近的索引连接pandas DataFrame值

Related 相关文章

热门标签

归档