classSolution{public:intthreeSumClosest(vector<int>&nums,inttarget){intans=nums[0]+nums[1]+nums[2];sort(begin(nums),end(nums));for(inti=0;i+2<nums.size();++i){if(i>0&&nums[i]==nums[i-1])continue;// Choose nums[i] as the first num in the triplet,// and search the remaining nums in [i + 1, n - 1]intl=i+1;intr=nums.size()-1;while(l<r){constintsum=nums[i]+nums[l]+nums[r];if(sum==target)returnsum;if(abs(sum-target)<abs(ans-target))ans=sum;if(sum<target)++l;else--r;}}returnans;}};
classSolution{publicintthreeSumClosest(int[]nums,inttarget){intans=nums[0]+nums[1]+nums[2];Arrays.sort(nums);for(inti=0;i+2<nums.length;++i){if(i>0&&nums[i]==nums[i-1])continue;// Choose nums[i] as the first num in the triplet,// and search the remaining nums in [i + 1, n - 1]intl=i+1;intr=nums.length-1;while(l<r){finalintsum=nums[i]+nums[l]+nums[r];if(sum==target)returnsum;if(Math.abs(sum-target)<Math.abs(ans-target))ans=sum;if(sum<target)++l;else--r;}}returnans;}}