LeetCode-15-3Sum
题目描述:

链接:https://leetcode-cn.com/problems/3sum/
思路分析:
这是一道双指针的变形题。正常的双指针是,nums
数组,找两个数,相加和为target
,这就很简单了,先给数组排序,然后nums[l] + nums[l] == target
的时候,就添加nums[l] + nums[l]
到结果中。所以,对题稍作变形,步骤如下:
- 排序数组。
- 对数组进行遍历,同时对数组第
i
到nums.length-1
进行双指针找target
为nums[i]
的情况,就退化为了一个双指针问题。
代码:
1 | class Solution { |
调试记录

还有重复项。在对数组进行遍历的时候,也进行去重。
1 | if(i>0 && nums[i]==nums[i-1]) continue; // 去重 |
1 | class Solution { |
AC记录:

总结:
一道非常好的双指针问题,关键点在于如何去重。
1 | // 方法1 |