# 3Sum Closest Leetcode Solution In this post, you will know how to solve the 3Sum Closest Leetcode Solution problem of Leetcode. This Leetcode problem is done in many programming languages like C++, Java, and Python.

One more thing to add, don’t directly look for the solutions, first try to solve the problems of Leetcode by yourself. If you find any difficulty after trying several times, then you can look for solutions.

## Problem

Given an integer array `nums` of length `n` and an integer `target`, find three integers in `nums` such that the sum is closest to `target`.

Return the sum of the three integers.

You may assume that each input would have exactly one solution.

Example 1:

```Input: nums = [-1,2,1,-4], target = 1
Output: 2
Explanation: The sum that is closest to the target is 2. (-1 + 2 + 1 = 2).
```

Example 2:

```Input: nums = [0,0,0], target = 1
Output: 0
Explanation: The sum that is closest to the target is 0. (0 + 0 + 0 = 0).
```

Constraints:

• `3 <= nums.length <= 1000`
• `-1000 <= nums[i] <= 1000`
• `-104 <= target <= 104`

### 3Sum Closest Leetcode Solutions in Python

```class Solution:
def threeSumClosest(self, nums: List[int], target: int) -> int:
ans = nums + nums + nums
nums.sort()
for i in range(len(nums) - 2):
if i > 0 and nums[i] == nums[i - 1]:
continue
l = i + 1
r = len(nums) - 1
while l < r:
summ = nums[i] + nums[l] + nums[r]
if summ == target:
return summ
if abs(summ - target) < abs(ans - target):
ans = summ
if summ < target:
l += 1
else:
r -= 1
return ans
```

### 3Sum Closest Leetcode Solutions in CPP

```class Solution {
public:
int threeSumClosest(vector<int>& nums, int target) {
int ans = nums + nums + nums;
sort(begin(nums), end(nums));
for (int i = 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]
int l = i + 1;
int r = nums.size() - 1;
while (l < r) {
const int sum = nums[i] + nums[l] + nums[r];
if (sum == target)
return sum;
if (abs(sum - target) < abs(ans - target))
ans = sum;
if (sum < target)
++l;
else
--r;
}
}
return ans;
}
};
```

### 3Sum Closest Leetcode Solutions in Java

```class Solution {
public int threeSumClosest(int[] nums, int target) {
int ans = nums + nums + nums;
Arrays.sort(nums);
for (int i = 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]
int l = i + 1;
int r = nums.length - 1;
while (l < r) {
final int sum = nums[i] + nums[l] + nums[r];
if (sum == target)
return sum;
if (Math.abs(sum - target) < Math.abs(ans - target))
ans = sum;
if (sum < target)
++l;
else
--r;
}
}
return ans;
}
}
```

Note: This problem 3Sum Closest is generated by Leetcode but the solution is provided by BrokenProgrammers. This tutorial is only for Educational and Learning purposes.