class Solution {
public:
int threeSumClosest(vector<int>& nums, int target) {
sort(nums.begin(), nums.end());
int a = 0;
int b = 1;
int c = nums.size() - 1;
int delta = INT_MAX; // sum - targetint res = nums[0] + nums[1] + nums[2];
for (; a < nums.size() - 1; a++) {
b = a + 1;
c = nums.size() - 1;
while (b < c) {
int sum = nums[a] + nums[b] + nums[c];
if (sum == target) {
return sum;
}
else {
if (abs(res - target) > abs(sum - target))
res = sum;
if (sum > target) c--;
else b++;
}
}
}
return res;
}
};