15. 3Sum (Medium) - TengnanYao/daily_leetcode GitHub Wiki
class Solution(object):
def threeSum(self, nums):
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
nums.sort()
result = set()
n = len(nums)
for index in range(n - 2):
i, j = index + 1, n - 1
while i < j:
s = nums[i] + nums[j] + nums[index]
if s == 0:
result.add((nums[index], nums[i], nums[j]))
i += 1
j -= 1
elif s < 0:
i += 1
else:
j -= 1
return result