Geeksforgeeks

X

DAYS

:

HOUR

:

MINS

:

SEC

Error

Copied to Clipboard

Given an array **Arr** of **N** numbers and another number **target**, find three integers in the array such that the sum is closest to target. Return the sum of the three integers.

**Example 1:**

**Input:
**N = 6, target = 2
A[] = {-7,9,8,3,1,1}
**Output: **2**
Explanation: **There is one triplet with sum
2 in the array. Triplet elements are -7,8,
1 whose sum is 2.

**Example 2:**

**Input:
**N = 4, target = 13
A[] = {5,2,7,5}
**Output: **14**
Explanation: **There is one triplet with sum
12 and other with sum 14 in the array.
Triplet elements are 5, 2, 5 and 2, 7, 5
respectively. Since abs(13-12) ==
abs(13-14) maximum triplet sum will be
preferred i.e 14.

**Your Task:**

Complete **threeSumClosest()** function and return the expected answer.

**NOTE: **If their exists more than one answer then return the maximum sum.

**Expected Time Complexity: **O(N*N).

**Expected Auxiliary Space: **O(1).

**Constraints:**

3 ≤ N ≤ 10^{3}

-10^{5} ≤ A[i] ≤ 10^{5}

1 ≤ target ≤ 10^{5}

We are replacing the old Disqus forum with the new Discussions section given below.

Click here to view old Disqus comments.

Click here to view old Disqus comments.

Login to report an issue on this page.

We strongly recommend solving this problem on your own before viewing its editorial. Do you still want to view the editorial?

YesLoading...

Three Sum Closest

...