【LeetCode】三数之和 Java 题解
题目描述
给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。
注意:答案中不可以包含重复的三元组。
复制代码
思路分析
今天这个题目是一个经典的题目,三数之和是两数之和的升级版。
解决这个题目,首先对数组进行排序,数组在有序的情况下,可以使用双指针的思想来解决。同时,排序之后,去重也比较方便,只需要判断相邻的元素是否重复即可。
代码
复制代码
总结
上述代码的时间复杂度是 O(n * n), 空间复杂度是 O(n)
坚持每日一题,加油!
版权声明: 本文为 InfoQ 作者【HQ数字卡】的原创文章。
原文链接:【http://xie.infoq.cn/article/53d6c32feac87d415f560b91f】。文章转载请联系作者。
评论