20.5.13 三数之和

今天做到这道题,题目如下:给你一个包含 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是否和前一个相同,相同就会出现相同的结果。

好了今天这道题的学习就到这里。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。