Leetcode: 15. 3Sum 三数之和
发布日期:2021-09-14 15:33:08 浏览次数:3 分类:技术文章

本文共 583 字,大约阅读时间需要 1 分钟。

3Sum 三数之和

给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。

注意:答案中不可以包含重复的三元组。


输入:

nums = [-1, 0, 1, 2, -1, -4],

输出:

[  [-1, 0, 1],  [-1, -1, 2]]

方法一:双指针

用TwoSum的思想,先固定住一个数,再从数组中找到是否有另外两个数的和为该数的相反数。

class Solution {
public: vector
> threeSum(vector
& nums) {
if (nums.size()<3) return {
}; sort(nums.begin(),nums.end()); vector
>res; for(int i=0;i
0) break; if (i > 0 && nums[i] == nums[i - 1]) continue; int left=i+1,right=nums.size()-1; while(left

转载地址:https://blog.csdn.net/weixin_42490152/article/details/101482983 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Leetcode: 16.3Sum Closest 最接近的三数之和
下一篇:Leetcode: 14. Longest Common Prefix 最长公共前缀

发表评论

最新留言

关注你微信了!
[***.104.42.241]2024年04月25日 18时42分35秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章