力扣第四天:最接近的三数之和

和昨天做的三数之和相差不大

新了解到绝对值:Math.abs();

  class Solution {
        public int threeSumClosest(int[] nums, int target) {
          Arrays.sort(nums);
          int n = nums.length;
          int m = nums[0]+nums[1]+nums[2];
          for(int i = 0; i < n; i++){
              int j = i+1;
              int k = n-1;
              while (j<k){
                  int s =nums[i]+nums[j]+nums[k];
                  if(Math.abs(s-target)<Math.abs(m-target)){
                      m = s;
                  }
                  if(s<target){
                      j++;
                  }
                  else if(s>target){
                      k--;
                  }
                   else
                       return target;    
              }
            }
          return m;
      }
  }

posted on 2020-11-11 09:58  暮山寒雪  阅读(21)  评论(0)    收藏  举报

导航