可以先对数组排序,然后枚举第一个数,就可以用对撞指针的方式找到第i+1到第n个数之间和为 -a[i]的方案,在寻找的过程中需要避免相同数带来的重复解,所以需要注意去重。
while (L + 1 <= n && a[L + 1] == a[L]) L++; while (R > 1 && a[R - 1] == a[R]) R--;
注册一个 核OJ_核桃编程 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 核OJ_核桃编程 通用账户