leetcode-三数之和
思路:
● 我们可以先遍历确定其中一个数,剩下的两个数就转化成两数之和问题 -a=b+c(target为-c)
● 分析可以得到:若三个数均为正数,必不可能和为0
● 若当前数和前一个数相同,那么这两个数的两数之和也必然相同(因为排序后的数组是单调递增的)
● 同理在双指针寻找两数之和时也是利用上面这点去重的(避免在[0,0,0,0]里找两数之和为0时出现重复)
(当然,也可以Set进行去重,因为List集合的判重方法equals ,是通过比较list中的值来判断两个list是否相同)
class Sol.
原创
2022-03-11 10:26:47 ·
275 阅读 ·
0 评论