get closest value to a number in array

后端 未结 12 1821
庸人自扰
庸人自扰 2020-12-01 07:52

I have an array of positive/negative ints

int[] numbers = new int[10];
numbers[0] = 100;
numbers[1] = -34200;
numbers[2] = 3040;
numbers[3] = 400433;
numbers         


        
12条回答
  •  半阙折子戏
    2020-12-01 08:18

    int valueToFind = 490;
    
    Map map = new HashMap();
    
    for (int i = 0, i < numbers.length; i++){
        map.put(Math.abs(numbers[i] - valueToFind), numbers[i]);
    }
    
    List keys = new ArrayList(map.keySet());
    Collections.sort(keys);
    
    return map.get(keys.get(0));
    

提交回复
热议问题