class Solution {
    public int threeSumClosest(int[] nums, int target) {
         Arrays.sort(nums);
        int clost = Integer.MAX_VALUE,sub = 0,abssub = 0,sum = 0; // 定义最接近的数,目前差值
        for(int i = 1 ; i < nums.length - 1 ; i++){
            int left = 0, right = nums.length - 1;
            while(left < i && right > i){
        
             sub = nums[left] + nums[right] + nums[i] - target;
             abssub = Math.abs(sub);
        
             if(clost > abssub){  
                 clost = abssub;
                 sum = nums[left] + nums[right] + nums[i] ;
             }
             if(sub > 0){ right--;}
             else if(sub < 0 ){ left++;}
             else{ sum = nums[left] + nums[right] + nums[i] ; break; }
            }
        }
        return sum;
    }
}

 

16. 最接近的三数之和

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-15
  • 2021-07-22
  • 2021-11-11
  • 2021-07-20
  • 2021-08-30
猜你喜欢
  • 2021-11-29
  • 2021-08-04
  • 2021-08-17
  • 2021-09-18
  • 2021-05-29
  • 2021-05-23
相关资源
相似解决方案