public int threeSumClosest(int[] nums, int target) {
        Arrays.sort(nums);
        int min = Integer.MAX_VALUE;
        int val = 0;

        int sum =0;
    for(int i =0; i<nums.length-2;i++){
         int start= i+1, end = nums.length-1;
      while(start<end){
        sum = nums[i]+nums[start]+nums[end];
           ** if(Math.abs(target-sum)<min){
                min = Math.abs(target-sum);
                val = sum;
            }
**//Important maintain closest sum
        else if(sum==target) return val;
        else if(sum>target){
            end--;
            }
        else{
            start++;
            }
        }


    }return val;

results matching ""

    No results matching ""