我有一个数字,计算离这个数字最接近的三个数字 import java.util.Arrays;import java.util.HashMap;import java.util.Map;public class Test {param argspublic static void main(String[]args){需要比较的所有数字int[]arr=new int[]{1,3,4,5,6,8,9,14,20,23,31,55,99};目标数字int a=15;存差值的绝对值int[]sub=new int[arr.length];存差值对应的原数字Map,Integer>;map=new HashMap,Integer>;();for(int i=0;i;i+){sub[i]=Math.abs(arr[i]-a);map.put(sub[i],arr[i]);}对差值的绝对值排序Arrays.sort(sub);前面三个差值对应的数字就是想要的System.out.println(map.get(sub[0]));System.out.println(map.get(sub[1]));System.out.println(map.get(sub[2]));}}输出结果:14209当然了,我没有考虑差值相同的情况,这个可以修改map为,List<;Integer>;>;,在put的时候加处理逻辑来解决,不过大概思路就是这样的
Excel中如何表示最接近某个数值的数字是多少,每个数字被选择一次 比如一组数:1,1,2,3,3,4,5第一个目标数是6,最接近6的数我可以用=MAX(IF(A:A,A:A))计算出是5。.
答:接近目标猜三个数字,这三个数字是8、9、10。俗话说八九不离十 就是快要达到目标的意思。