LeetCode 热题 100 —— 6.三数之和(Javascript解法)
一、题目要求给你一个整数数组nums判断是否存在三元组[nums[i], nums[j], nums[k]]满足i ! j、i ! k且j ! k同时还满足nums[i] nums[j] nums[k] 0。请你返回所有和为0且不重复的三元组。注意答案中不可以包含重复的三元组。二、题目思路解法排序 双指针1.先对数组排序便于去重和双指针移动2.固定一个数 nums[i]然后在 i 右侧使用双指针寻找两数之和等于 -nums[i]3.跳过重复元素保证结果不重复三、代码实现/** * param {number[]} nums * return {number[][]} */ var threeSum function(nums) { //边界控制数组长度小于3直接返回空值 if(nums.length 3) return[]; //排序升序 nums.sort((a,b) a-b); let result []; const n nums.length; for(let i 0; i n-2; i){ // 优化如果当前最小的数都大于 0三数之和不可能为 0直接终止循环 if (nums[i] 0) break; // 跳过重复的 i避免产生重复的三元组 if (i 0 nums[i] nums[i - 1]) continue; let left i 1; let right n - 1; while(left right){ const sum nums[i] nums[left] nums[right]; if(sum 0){ // 找到一个合法三元组 result.push([nums[i], nums[left], nums[right]]); //跳过重复的三元组 while(leftright nums[left] nums[left1]){ left; } while(left right nums[right] nums[right-1]){ right--; } // 继续向内收缩 left; right--; }else if(sum 0 ){ // 和太小左指针右移增大和 left; }else{ //和太大右指针左移减小和 right--; } } } return result; };四、总结该算法时间复杂度为O(n²)。

相关新闻

性价比高的小程序制作公司怎么选?价格、设计和售后对比

性价比高的小程序制作公司怎么选?价格、设计和售后对比

性价比高的小程序制作公司怎么选?价格、设计和售后对比性价比高的小程序制作公司,不是报价最低的公司,而是能在价格、设计、功能和售后之间取得平衡的方案。对中小企业来说,真正的性价比要看三年总成本:首年费用、页面…

2026/6/27 4:19:26阅读更多 →
Easy Image X v3 配置文件详解

Easy Image X v3 配置文件详解

Easy Image X v3 自 Preview 2 版本开始以配置文件方式提供丰富的可选项。 配置文件相关 (1) 配置文件一般为 EIx3 开头的,包含版本号,并以 ini 为后缀名的文件,形如:EIx3_v3.0.2507.10076.ini&#xff1b…

2026/6/27 4:19:26阅读更多 →
AI重塑售后服务:告别被动低效,让售后成为企业增长新引擎

AI重塑售后服务:告别被动低效,让售后成为企业增长新引擎

在消费升级与数字化浪潮叠加的当下,售后服务早已不是企业的“配套环节”,而是留存客户、塑造品牌、沉淀口碑的核心竞争力。但纵观多数企业的传统售后场景,痛点始终难以根治:客户咨询排队久、重复问题反复解答、故障排查效率低、工…

2026/6/27 4:14:26阅读更多 →
标记“”不是此版本中的有效语句分隔符

标记“”不是此版本中的有效语句分隔符

问题原因 PowerShell 版本过低‌:Windows 自带的 PowerShell 不支持&&运算符,该运算符从 PowerShell 7.0 才开始支持。 使用 $PSVersionTable 变量 $PSVersionTable 是一个包含PowerShell版本和其他系统信息的哈希表。你可以直接查看这个变量来…

2026/6/27 5:49:31阅读更多 →
必得8元 免费领取 教程!最新可用!

必得8元 免费领取 教程!最新可用!

如果你想薅一下羊毛,想喝一下免费的奶茶,真的可以试一下这个口令:千问新用户专属860982就能领8元支付宝无门槛立减券,外卖、打车、网购都能用。这个福利有效期是领到之后14天,每个手机号和设备只能领一次~

2026/6/27 5:49:31阅读更多 →
海外APP定制开发|多语言支付上架全流程

海外APP定制开发|多语言支付上架全流程

海外APP定制开发|多语言支付上架全流程想做海外APP、海外软件系统、跨境业务平台、多语言应用等,但不知道功能怎么规划、预算怎么评估、后期怎么上线? 我们提供: APP定制开发|小程序开发|系统开发&#xff…

2026/6/27 5:49:31阅读更多 →
【护网专项干货】2026 年护网行动全维度讲解,红队攻击思路 + 蓝队防守方案,从零掌握完整防护体系

【护网专项干货】2026 年护网行动全维度讲解,红队攻击思路 + 蓝队防守方案,从零掌握完整防护体系

2026年作为“十五五”规划关键之年,护网行动呈现“场景更真实、防护更精准、合规更严格”的新特征,攻击手法更贴近APT攻击与黑产真实行为,防护重心也延伸至云原生、AI安全等新兴领域。 一、核心认知:读懂护网行动——不止是“攻防…

2026/6/27 5:49:31阅读更多 →
Java毕业设计-基于 SpringBoot+Vue 的大学生竞赛项目管理系统的设计与实现 基于 SpringBoot+Vue 的高校竞赛管理系(源码+LW+部署文档+全bao+远程调试+代码讲解等)

Java毕业设计-基于 SpringBoot+Vue 的大学生竞赛项目管理系统的设计与实现 基于 SpringBoot+Vue 的高校竞赛管理系(源码+LW+部署文档+全bao+远程调试+代码讲解等)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/6/27 5:49:31阅读更多 →
工装采购如何筛选靠谱厂商

工装采购如何筛选靠谱厂商

工装采购如何筛选靠谱厂商我做服装对接快十年,见过太多采购踩坑。 今年6.25,我们接了一个工矿的补单需求。 对方之前找的小厂商,交期拖了半个月,质量还不合格。先看有没有全链条自主服务能力很多小作坊只接代工,设计改…

2026/6/27 5:44:31阅读更多 →
【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体

【人工智能】一文搞定到底什么是智能体 一文搞定到底什么是智能体【人工智能】一文搞定到底什么是智能体一. LM,WorkFlow,Agent分别有什么么不同二. Agent的思考过程是怎样的三. Agent的五个核心部分1)LLM2)Prompt3)Me…

2026/6/26 11:03:22阅读更多 →
嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

嵌入式GUI控件实战:ROTARY、SCROLLBAR、SLIDER原理与应用

1. 嵌入式GUI控件:从原理到实战的深度解析在嵌入式系统开发中,图形用户界面(GUI)的设计与实现往往是项目从“能用”到“好用”的关键一跃。不同于资源充沛的PC或移动平台,嵌入式设备的GUI需要在有限的CPU性能、内存空间…

2026/6/27 5:46:02阅读更多 →
Google AI Studio 300美元额度的真相与实战指南

Google AI Studio 300美元额度的真相与实战指南

1. 这300美金不是“送钱”,而是Google埋下的第一道技术门槛 你看到标题里那个醒目的“$300美金”时,第一反应可能是:又一个免费额度?领完就完事?我亲手试过——这300美金根本不是红包,而是一张入场券&…

2026/6/26 9:29:01阅读更多 →
10分钟AI语音克隆与实时变声:Retrieval-based-Voice-Conversion-WebUI完整指南

10分钟AI语音克隆与实时变声:Retrieval-based-Voice-Conversion-WebUI完整指南

10分钟AI语音克隆与实时变声&#xff1a;Retrieval-based-Voice-Conversion-WebUI完整指南 【免费下载链接】Retrieval-based-Voice-Conversion-WebUI Easily train a good VC model with voice data < 10 mins! 项目地址: https://gitcode.com/GitHub_Trending/re/Retrie…

2026/6/27 0:04:03阅读更多 →
Layerdivider:3分钟AI智能分层,彻底告别手动抠图时代

Layerdivider:3分钟AI智能分层,彻底告别手动抠图时代

Layerdivider&#xff1a;3分钟AI智能分层&#xff0c;彻底告别手动抠图时代 【免费下载链接】layerdivider A tool to divide a single illustration into a layered structure. 项目地址: https://gitcode.com/gh_mirrors/la/layerdivider 还在为复杂的图像分层工作烦…

2026/6/27 0:04:03阅读更多 →
Tomcat中X-Frame-Options配置实战:防御点击劫持的四种方法与最佳实践

Tomcat中X-Frame-Options配置实战:防御点击劫持的四种方法与最佳实践

1. 项目概述&#xff1a;为什么X-Frame-Options是Web安全的“防盗门”&#xff1f;最近在排查一个老项目的安全审计报告时&#xff0c;又被提到了“点击劫持”风险&#xff0c;矛头直指缺失的X-Frame-Options响应头。这已经不是第一次了&#xff0c;很多开发团队&#xff0c;尤…

2026/6/27 0:04:03阅读更多 →