rt 附上代码,求大神解答。
class Solution:
# @
return a list of lists of length 3, [[val1,val2,val3]]
def threeSum(self, num):
num.sort()
res = []
for i in range(len(num)-2):
if i == 0 or num[i] > num[i-1]:
left = i + 1
right = len(num) - 1
while left < right:
if num[left] + num[right] == -num[i]:
res.append([num[i], num[left], num[right]])
left += 1
right -= 1
while left < right and num[left] == num[left-1]:
left += 1
while left < right and num[right] == num[right+1]:
right -= 1
elif num[left] + num[right] < -num[i]:
while left < right:
left += 1
if num[left] > num[left-1]:
break
else:
while left < right:
right -= 1
if num[right] < num[right+1]:
break
return res
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/480322
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.