classSolution:defthreeSum(self, nums):"""
:type nums: List[int]
:rtype: List[List[int]]
"""
nums.sort()
result =[]for i inrange(len(nums)-2):if i ==0or nums[i]> nums[i-1]:
left = i +1; right =len(nums)-1while left < right:if nums[left]+ nums[right]==-nums[i]:
result.append([nums[i], nums[left], nums[right]])
left +=1
right -=1while left < right and nums[left]== nums[left-1]:
left +=1while left < right and nums[right]== nums[right+1]:
right -=1elif nums[left]+ nums[right]<-nums[i]:while left < right:
left +=1if nums[left]> nums[left-1]:breakelse:while left < right:
right -=1if nums[right]< nums[right+1]:breakreturn result