news 2026/9/20 2:31:30

⭐力扣刷题:三数之和

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
⭐力扣刷题:三数之和

题目:
给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请你返回所有和为 0 且不重复的三元组。

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

示例 1:

输入:nums = [-1,0,1,2,-1,-4]
输出:[[-1,-1,2],[-1,0,1]]
解释:
nums[0] + nums[1] + nums[2] = (-1) + 0 + 1 = 0 。
nums[1] + nums[2] + nums[4] = 0 + 1 + (-1) = 0 。
nums[0] + nums[3] + nums[4] = (-1) + 2 + (-1) = 0 。
不同的三元组是 [-1,0,1] 和 [-1,-1,2] 。
注意,输出的顺序和三元组的顺序并不重要。

示例 2:

输入:nums = [0,1,1]
输出:[]
解释:唯一可能的三元组和不为 0 。

示例 3:

输入:nums = [0,0,0]
输出:[[0,0,0]]
解释:唯一可能的三元组和为 0 。

解析:
这道题使用双指针法会非常的方便,首先要将数组进行排序,随后开启for循环,i从0的位置开始,设置左指针指向i+1,设置右指针指向数组最后一个元素,然后计算a+b+c的值,如果这三个和的值小于0,那么左指针往右移动,如果三个数之和大于0,右指针往左移动
但是我们需要注意两个点,一个是i要保证得到去重,另外一个就是左指针和右指针指向的元素也是需要去重的

具体代码:

/** * @param {number[]} nums * @return {number[][]} */varthreeSum=function(nums){constres=[]constlen=nums.length nums.sort((a,b)=>a-b)for(leti=0;i<len;i++){letl=i+1letr=len-1iNum=nums[i]if(iNum>0)returnresif(iNum===nums[i-1])continuewhile(l<r){letlNum=nums[l]letrNum=nums[r]letsum=iNum+lNum+rNumif(sum<0)l++elseif(sum>0)r--else{res.push([iNum,lNum,rNum])while(l<r&&nums[l]===nums[l+1]){l++}while(l<r&&nums[r]===nums[r-1]){r--}l++r--}}}returnres};
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/18 22:49:33

论基于REST服务的Web应用系统设计

REST作为互联网核心架构风格&#xff0c;以资源为核心、无状态交互为特征&#xff0c;结合面向服务思想构建的Web应用&#xff0c;具备轻量、可扩展等优势&#xff0c;已成为企业级Web系统开发的主流选择。本文结合笔者参与的某连锁便利店全渠道运营管理平台开发项目实践&#…

作者头像 李华
网站建设 2026/9/19 22:15:34

R语言在气象数据分析中的应用(相关性建模全攻略)

第一章&#xff1a;R语言在气象数据分析中的相关性建模概述 R语言因其强大的统计分析能力和丰富的可视化工具&#xff0c;成为气象数据分析中相关性建模的首选编程环境。气象数据通常具有高维度、时间序列性强和空间异质性等特点&#xff0c;R提供了如dplyr、tidyr、ggplot2和l…

作者头像 李华
网站建设 2026/9/18 23:02:36

揭秘Docker Compose中的Agent健康检测机制:如何避免服务假死?

第一章&#xff1a;揭秘Docker Compose中的Agent健康检测机制&#xff1a;如何避免服务假死&#xff1f;在微服务架构中&#xff0c;容器化应用的稳定性依赖于精确的健康状态判断。Docker Compose 提供了内置的 healthcheck 指令&#xff0c;用于监控服务容器的运行状态&#x…

作者头像 李华
网站建设 2026/9/18 13:08:52

Python期末复习:30个核心知识点完全详解

&#x1f3af; 第一部分&#xff1a;基础语法与数据类型&#xff08;共8个知识点&#xff09; 知识点1&#xff1a;变量与赋值操作 详细内容&#xff1a;变量命名规则 由字母、数字、下划线组成不能以数字开头区分大小写不能使用Python关键字建议使用小写字母和下划线组合&…

作者头像 李华
网站建设 2026/9/19 0:22:37

大模型训练数据全攻略:从数据处理到高质量数据集构建(建议收藏)

本文详细介绍了大模型训练数据的种类、处理流程和特点。通过高质量数据构建可大幅降低训练数据规模&#xff0c;阐述了质量过滤、冗余去除、隐私消除等预处理方法&#xff0c;以及人工标注数据的类型和用途。介绍了SFT、RM、PPO三类数据集的准备&#xff0c;自动化算法和多模态…

作者头像 李华
网站建设 2026/9/18 23:23:04

企业级容器安全迫在眉睫,Docker Scout如何实现小时级响应?

第一章&#xff1a;企业级容器安全的挑战与Docker Scout的定位在现代云原生架构中&#xff0c;容器技术已成为应用部署的核心载体&#xff0c;但其广泛使用也带来了复杂的安全挑战。企业面临镜像来源不可信、依赖漏洞隐蔽性强、运行时行为难以监控等问题&#xff0c;传统的安全…

作者头像 李华