有个公众号:算法爱好者,12-05的题目,题目要求和代码如下
给出一个有 n 个整数的数组 S,在 S 中找到三个整数 a, b, c,使得 a + b + c = 0。写一个函数找到所有满足要求的三元组。
注意事项:在三元组(a, b, c),要求a <= b <= c。结果不能包含重复的三元组。
格式:
输入行输入一个有 n 个整数的数组 S,最后输出所有满足要求的三元组。
样例输入
S = [ -1,0,1,2,-1,-4 ]
样例输出
( -1, 0, 1 )
( -1, -1, 2 )
代码如下:
def SumOfNumber(S):
l=[]
S.sort()
for i in range(len(S)-2):
for j in range(i+1,len(S)-1):
for k in range(j+1,len(S)):
if (S[i]+S[j]+S[k])==0:
l.append([S[i],S[j],S[k]])
print(l)
if __name__ == '__main__':
S=[-1,0,1,2,-1,-4]
SumOfNumber(S)
显示结果: