class Solution:
def threeSum(self, nums: List[int]) -> List[List[int]]:
nums.sort()
res=set()
for k in range(1,len(nums)-1):
i,j=0,len(nums)-1
while(i<k and j>k):
if nums[i]+nums[j]>-nums[k]:
j-=1
elif nums[i]+nums[j]<-nums[k]:
i+=1
else:
res.add((nums[i],nums[k],nums[j]))
i+=1
j-=1
#重点是如果找到了一对 也不能放弃,要接着找
return res
数组中找三个数和为0 (双指针问题)
最新推荐文章于 2021-03-01 10:14:38 发布