三数之和【双指针】

在这里插入图片描述
在这里插入图片描述

1.先来看前面的三道双指针题目

在这里插入图片描述
发现:都是一个类型!

2.照葫芦画瓢

  1. 递增排序
  2. 固定⼀个数X
  3. 在这个数后面的区间,找到两个数的和是X的相反数

去重

在这里插入图片描述

代码

#include <vector>
class Solution
{
public:
    vector<vector<int>> threeSum(vector<int> &nums)
    {
        sort(nums.begin(), nums.end());

        vector<vector<int>> ret;
        int cur = 0, n = nums.size();
        while (cur < n)
        {
            // 在递增数组中 当前的数大于0 那么该数之后的数均大于0
            // 则nums[i]后无法找到两个数的和==该数的相反数
            if (nums[cur] > 0)
                break;

            int left = cur + 1, right = n - 1, target = -nums[cur];
            while (left < right)
            {
                int sum = nums[left] + nums[right];
                if (sum > target)
                    right--;
                else if (sum < target)
                    left++;
                else
                {
                    ret.push_back({nums[cur], nums[left++], nums[right--]});

                    while (left < right && nums[left] == nums[left - 1])
                        left++;
                    while (left < right && nums[right] == nums[right + 1])
                        right--;
                }
            }
            cur++;
            while (cur < n && nums[cur] == nums[cur - 1])
                cur++;
        }
        return ret;
    }
};

相关推荐

  1. 指针 Leetcode 15 之和

    2024-03-29 09:02:05       12 阅读
  2. 指针练习:之和

    2024-03-29 09:02:05       9 阅读
  3. 指针算法篇:两之和之和

    2024-03-29 09:02:05       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-29 09:02:05       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-29 09:02:05       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-29 09:02:05       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-29 09:02:05       18 阅读

热门阅读

  1. 【Spring】27 UrlResource:访问各种资源的通用工具

    2024-03-29 09:02:05       17 阅读
  2. 如何查看自己服务器的SSL证书?

    2024-03-29 09:02:05       16 阅读
  3. Vue.js:构建高效且灵活的Web应用的利器

    2024-03-29 09:02:05       16 阅读
  4. 显示器分辨率

    2024-03-29 09:02:05       17 阅读
  5. 「PHP系列」PHP echo/print语句、数据类型详解

    2024-03-29 09:02:05       21 阅读
  6. 配置SSH后 GitHub无法使用了

    2024-03-29 09:02:05       16 阅读
  7. 详解IOS的Automatically Sign在设备上打包

    2024-03-29 09:02:05       15 阅读