3Sum Closest LeetCode solution in C++

1
class Solution {
2
public:
3
int threeSumClosest(vector<int> &nums, int target) {
4
sort(nums.begin(), nums.end());
5
int n = nums.size(), ans;
6
int diff = INT_MAX;
7
for (int i = 0; i < n - 2; i++) // fixating the firstt element
8
{
9
int l = i + 1, r = n - 1;
10
while (l < r) {
11
int sum = nums[i] + nums[l] + nums[r];
12
if (sum == target) return sum;
13
if (abs(sum - target) < diff) { // updating the sum if sum so far. is closest to target
14
diff = abs(sum - target);
15
ans = sum;
16
}
17
(sum > target) ? r-- : l++;
18
}
19
}
20
return ans;
21
}
22
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0