3 Sum Closest (Leetcode 16)
Problem Link: https://leetcode.com/problems/3sum-closest/
class Solution:
def threeSumClosest(self, nums: List[int], target: int) -> int:
n=len(nums)
nums.sort()
minn=float('inf')
ans=0
summ=0
for i in range(n-2):
# If curr == prev, simply move forward
if(1<=i<n-2 and nums[i]==nums[i-1]):
i+=1
j=i+1
k=n-1
while(j<k):
summ=nums[i]+nums[j]+nums[k]
if(summ==target):
return summ
if(abs(summ-target)<minn):
minn=abs(summ-target)
ans=summ
if(summ<target):
j+=1
elif(summ>target):
k-=1
return ans
Last updated