1855. [算法课双指针] 三数之和

给你一个整数数组 nums ,判断是否存在三元组 (nums_i, nums_j, nums_k) 满足 i \ne ji \ne kj \ne k ,同时还满足 nums_i + nums_j + nums_k = 0。请你返回所有和为 0 且不重复的三元组。

注意:答案中不可以包含重复的三元组。

输入

第一行输入一个整数 n \ (1 \leq n \leq 1000) 代表数组的长度。

第二行输入一行数字代表数组 nums \ (-100 \leq nums_i \leq 100),数字与数字之间用空格间开。

输出

输出所有和为 0 且不重复的三元组构成的数组,每个三元组按升序保存。

样例

标准输入 复制文本
1
0
标准输出 复制文本
[]
标准输入 复制文本
5
-2 0 1 1 2
标准输出 复制文本
[[-2,0,2],[-2,1,1]]
标准输入 复制文本
6
-1 0 1 2 -1 -4
标准输出 复制文本
[[-1,-1,2],[-1,0,1]]
登录以提交代码。
单点时限 1 秒
内存限制 256 MB
提交 1186
通过 364