class Solution:
"""
@param numbersbers : Give an array numbersbers of n integer
@return : Find all unique triplets in the array which gives the sum of zero.
"""
def threeSum(self, numbers):
# write your code here
numbers = sorted(numbers)
m = 0
n = len(numbers)
ans = []
if n < 3:
return ans
while m < n:
j = m + 1
while j < n:
k = j + 1
while k < n:
if numbers[m] + numbers[j] + numbers[k] == 0:
ans.append((numbers[m], numbers[j], numbers[k]))
k += 1
j += 1
m += 1
if len(ans) == 0:
return ans
m = 0
while m < len(ans)-1:
if ans[m] == ans[m+1]:
ans.remove(ans[m])
else:
m += 1
ans = set(ans)
ans = [list(i) for i in ans]
return ans
LintCode: 三数之和
最新推荐文章于 2020-10-18 12:46:59 发布