classSolution{publicintthreeSumClosest(int[] nums,int target){if(nums.length ==3)return nums[0]+nums[1]+nums[2];int min =Integer.MAX_VALUE;int i =0;Arrays.sort(nums);while(i < nums.length){int temp = nums[i]- target;int l = i+1;int r = nums.length -1;int sign =0;int sum =0;while(l < r){
sum = temp + nums[l]+ nums[r];if(sum >0){
r--;if(min <0){
min = sum >Math.abs(min)? min : sum;}
min = sum > min ? min : sum;}elseif(sum <0){
l++;if(min >0){
min =Math.abs(sum)> min ? min : sum;}
min =Math.abs(sum)>Math.abs(min)? min : sum;}elsereturn nums[i]+ nums[l]+ nums[r];}
i++;}return min + target;}}