Files
dsa-competitive-programming/leetcode/lc16/closest3Sum.cpp
T
2026-02-11 14:56:22 +05:30

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;
}
};