3Sum
卡边过。。。
需要考虑空间换时间的写法
class Solution:
nums = []
length = 0
def threeSum(self, nums):
"""
:type nums: List[int]
:rtype: List[List[int]]
"""
nums = sorted(nums)
length = len(nums)
print(length)
result = []
for i in range(length - 2):
if i > 0 and nums[i] == nums[i - 1]:
continue
j = i + 1
k = length - 1
while j < k:
listt = [nums[i], nums[j], nums[k]]
summ = sum(listt)
if summ > 0:
k -= 1
elif summ < 0:
j += 1
else:
result.append(listt)
k -= 1
j += 1
while j < k and nums[k] == nums[k + 1]:
k -= 1
while j < k and nums[j] == nums[j - 1]:
j += 1
return result