3 SUM
class Solution:
def threeSum(self, nums: List[int]) -> List[List[int]]:
nums.sort()
res =[]
n = len(nums)
for i in range(n-2):
if i == 0 or nums[i] != nums[i-1]:
j = i+1
k = n-1
target = -nums[i]
while j < k:
curr = nums[j] + nums[k]
if curr < target:
j+=1
elif curr > target:
k-=1
else:
res.append([nums[i],nums[j],nums[k]])
while j < n-1 and nums[j]== nums[j+1]:
j+=1
while k > 0 and nums[k] == nums[k-1]:
k-=1
j+=1
k-=1
return res
Last updated