当前位置: 首页 > article >正文

力扣15.三数之和(双指针)

15. 三数之和 - 力扣(LeetCode)

代码区:

class Solution {
public:
//不可以包含重复的三元组
    vector<vector<int>> threeSum(vector<int>& nums) {
        vector<vector<int>> vv;
        if(nums.size()<3){
            return vv;
        }
        sort(nums.begin(),nums.end());
        for(int i=0;i<nums.size();i++){
            if(i>0&&nums[i]==nums[i-1]){//跳过重复的第一个元素
                continue;
            }
            int target=-nums[i];
            int left=i+1;
            int right=nums.size()-1;
            while(left<right){
                int sum=nums[left]+nums[right];
                if(sum==target){
                    vv.push_back({nums[i],nums[left],nums[right]});
                    //跳过重复的第二个元素
                   while (left < right && nums[left] == nums[left + 1]) {
                        left++;
                    }
                    // 跳过重复的第三个元素
                    while (left < right && nums[right] == nums[right - 1]) {
                        right--;
                    }
                    left++;
                    right--;
                }
                else if(sum<target){
                    left++;
                }
                else{
                    right--;
                }
            }
        }
        return vv;
    }
};

欢迎各位读者提出意见。

(菜菜奋斗小日记)


http://www.kler.cn/a/600644.html

相关文章:

  • 【从零实现Json-Rpc框架】- 项目设计篇
  • ngx_conf_parse - location块
  • C# MemoryStream 中 ToArray 和 GetBuffer 的区别
  • 唯品会 unidbg 补环境 分析
  • 菜鸟的程序编程理解
  • 《大语言模型》学习笔记(四)--Transformer 模型
  • 大模型思维链COT:Chain-of-Thought Prompting Elicits Reasoningin Large Language Models
  • k8s存储介绍(二)Secret
  • 爬虫豆瓣电影
  • 国内常用各类证件照的尺寸,证件照尺寸大小汇总【免费改图网站】
  • 《Python实战进阶》第33集:PyTorch 入门-动态计算图的优势
  • 微软纳德拉最新一期访谈
  • 基于Java,SpringBoot和Vue高考志愿填报辅助系统设计
  • aab 转 apk
  • 前端安全加密方式
  • mknod命令与device_create函数的关系
  • 类和对象—封装
  • KNN算法+鸢尾花分类+手写数字识别案例
  • Swift实现嵌套json字典重排序并输出string
  • 树状数组模板