mirror of
https://github.com/Manoj-HV30/dsa-competitive-programming.git
synced 2026-05-16 19:35:22 +00:00
25 lines
827 B
C++
25 lines
827 B
C++
class Solution{
|
|
public :
|
|
int threeSumClosest(vector<int> &nums, int target){
|
|
sort(nums.begin(), nums.end());
|
|
int n =nums.size();
|
|
int res = nums[0] + nums[1] + nums[2];
|
|
for(int i =0;i<n-2;i++){
|
|
if(i>0 && nums[i]==nums[i-1]) break;
|
|
int left = i+1;
|
|
int right= n -1;
|
|
while(left<right){
|
|
int sum = nums[i] + nums[left] + nums[right];
|
|
if(abs(target - sum)< abs(target - res))
|
|
res= sum;
|
|
if(target == sum) return target;
|
|
else if(sum<target) left++;
|
|
else right--;
|
|
|
|
|
|
}
|
|
}
|
|
return res;
|
|
}
|
|
};
|