今天做到这道题,题目如下:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。
注意:答案中不可以包含重复的三元组。
我的答案如下:
但很遗憾超时了。当给的测试数组是一个很大的数组的话我这个方法就超时了,只能学习借鉴别人更好的解法。
在这里感谢一下原作者的代码分享,以下是链接(作者:hzj
链接:https://leetcode-cn.com/problems/3sum/solution/san-shu-zhi-he-chao-guo-989-yong-hu-by-hzj/
)
我给代码加了些注释以便以后更易看懂
我觉得巧妙之处就是先排序然后再在里面进行去重。这里的去重因为k每次都是从最后一个开始,所以只要判断i 和 j是否和前一个相同,相同就会出现相同的结果。
好了今天这道题的学习就到这里。