package LeetCode;
import java.util.Arrays;
public class ThreeSumJ {
public int threeSumClosest(int[] nums, int target) {
//为了使相差值比较获取最大值
int min=Integer.MAX_VALUE ;
int[] result=new int[3];
Arrays.sort(nums);
for(int i=0;i<nums.length;i++){
//i是第一个数,j是中间的数
int j=i+1;
//k是最后一个数
int k=nums.length-1;
while(j<k){
//如果三数和减去target时小于当时存的最小差那更换最小值和result值
if(Math.abs(nums[i]+nums[j]+nums[k]-target)<min){
min=Math.abs(nums[i]+nums[j]+nums[k]-target);
result[0]=nums[i];
result[1]=nums[j];
result[2]=nums[k];
//如果太小让j向后移动一位
}else if(nums[i]+nums[j]+nums[k]-target<0){
j++;
}else{
//若果大了让k向后移动一位
k--;
}
}
}
return result[0]+result[1]+result[2];
}
}