给你一个整数数组 a ,判断是否存在三元组 (a[i], a[j], a[k]) 满足 i != j、i != k 且 j != k ,同时还满足 a[i] + a[j] + a[k] == 0 。
请你返回所有和为 0 且不重复的三元组。若没有这样的三元组,请输出“No”。
注意:答案中不可以包含重复的三元组。
第一行,n,表示数组元素个数
第二行,n个整数
所有和为 0 且不重复的三元组,一行一个三元组
6 -1 0 1 2 -1 -4
-1 -1 2 -1 0 1
解释:
a[0] + a[1] + a[2] = (-1) + 0 + 1 = 0 。 a[1] + a[2] + a[4] = 0 + 1 + (-1) = 0 。 a[0] + a[3] + a[4] = (-1) + 2 + (-1) = 0 。
不同的三元组是 [-1,0,1] 和 [-1,-1,2] 。
3 0 1 1
No
解释:唯一可能的三元组和不为 0 。
3 0 0 0
0 0 0
解释:唯一可能的三元组和为 0 。
3 <= n <= 3000
-10^5 <= a[i] <= 10^5