leetcode-15-三数之和
题目描述;
方法一:
class Solution: def threeSum(self, nums: List[int]) -> List[List[int]]: res = [] nums.sort() for k in range(len(nums)-2): if nums[k]>0:break if k>0 and nums[k]==nums[k-1]:continue i,j = k+1,len(nums)-1 while i<j: s = nums[k] + nums[i] + nums[j] if s>0: j-=1 if i<j and nums[j]==nums[j+1]:j-=1 elif s<0:#注意不能是if i+=1 if i<j and nums[i]==nums[i-1]:i+=1 else: res.append([nums[k],nums[i],nums[j]]) i+=1 j-=1 while i < j and nums[i] == nums[i - 1]: i += 1 while i < j and nums[j] == nums[j + 1]: j -= 1 return res