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