数字择优( 计算一个数与一组数字中的哪一个数字大小最接近)

Posted 皓月天边 半步青莲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数字择优( 计算一个数与一组数字中的哪一个数字大小最接近)相关的知识,希望对你有一定的参考价值。

一,应用场景

应需求根据两组经纬度计算出B点相对于A点的角度后,根据这个角度在一组预置点中选取最近的一个预置点

二,代码部分

 1 /**
 2      *   计算一个数与一组数字中的哪一个数字大小最接近
 3      * @param re
 4      * @param ble
 5      * @return
 6      */
 7     public static int choicePreset(int[] re,int ble) {
 8         //1.存差值的绝对值
 9         int[] result=new int[re.length];
10         //2.存差值对应的数字
11         Map<Integer, Integer> map=new HashMap<>();
12         int min=0;
13         for (int i=0;i<re.length;i++) { 
14             //3.计算出这两个数字之间的差,绝对值
15             min=Math.abs(re[i]-ble);
16             result[i]=min;
17             map.put(min, re[i]);
18         }
19         //对差值的绝对值排序
20         Arrays.sort(result); 
21         //返回与ble差值最小一个数
22         return    map.get(result[0]);
23     }
public static void main(String[] args) throws InterruptedException {
        int[] re= {1,5,6,9,25,36,95,64,23};
        int ble=96;
        System.out.println(choicePreset(re, ble));
}

三.测试结果

以上是关于数字择优( 计算一个数与一组数字中的哪一个数字大小最接近)的主要内容,如果未能解决你的问题,请参考以下文章

C语言中,以命令行输入一组数字,并以从小到大排序输出!

C语言编程 计算一串字符中的数字个数

java中输入一组数字,如何固定输入数字个数?

数组中的逆序对

1-10,4个数字一组,共有多少种组合?

[PHP] 算法-数组归并排序并计算逆序对的个数的PHP实现