Day1 三数之和
Posted 未来可期-2018
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Day1 三数之和相关的知识,希望对你有一定的参考价值。
class Solution:
def threeSum(self, nums):
n = len(nums)
ans = []
# 数组为空或者长度小于3直接返回
if not nums or n<3:
return []
nums.sort()
for i in range(n):
if nums[i]>0:
break
# 去重
if i>0 and nums[i]==nums[i-1]:
continue
# 从i+1找到R
L = i+1
R = n-1
while L<R:
if nums[i]+nums[L]+nums[R]==0:
ans.append([nums[i],nums[L],nums[R]])
while L<R and nums[L]==nums[L+1]:
L+=1
while L<R and nums[R]==nums[R-1]:
R-=1
L+=1
R-=1
elif nums[i]+nums[L]+nums[R]>0:
R-=1
else:
L+=1
return ans
以上是关于Day1 三数之和的主要内容,如果未能解决你的问题,请参考以下文章