给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。

现将数组排序,从小到大,遍历排序后的数组,若出现nums[L]>0时,则直接碾弃后面的元素,如果在L>0的情况下,第二个元素和第一个元素重合,则跳过。设立两个指针,一个j指向L+1,一个R指向nums.length-1,若nums[L]+nums[j]+nums[R]等于0,则直接添加元素,然后左右指针分别往里靠拢,且跳过重复值,若sum<0,则左边小了,需要往右移,反之右边往左移,同时跳过重复值。

面试冲刺算法系列-64
面试冲刺算法系列-64

相关文章:

  • 2021-06-29
  • 2021-12-07
  • 2022-02-18
  • 2021-06-10
  • 2021-11-26
  • 2022-02-16
猜你喜欢
  • 2021-07-02
  • 2021-07-19
  • 2022-12-23
  • 2021-06-22
  • 2022-12-23
  • 2021-11-24
  • 2021-08-30
相关资源
相似解决方案