尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
算法之旅-Hot100—三数之和
题目三数之和描述给你一个整数数组nums判断是否存在三元组[nums[i], nums[j], nums[k]]满足i ! j、i ! k且j ! k同时还满足nums[i] nums[j] nums[k] 0。请你返回所有和为0且不重复的三元组。注意答案中不可以包含重复的三元组。示例输入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] 。 注意输出的顺序和三元组的顺序并不重要。算法思路由于起始数组是无序的导致浪费时间这里先进行从小到大排序然后直接遍历数组拿第一个值 a 然后退化为两数之和用双指针指向这两个数 b c 当 a b c 0 时b 已经是当前最少的值了移动右指针 c 使总和变小当总和小于 0 时同理移动左指针 b相等时候存入三个值中间可以跳过一些数组内相同的值进行优化。class ThreeSum{ public ListListInteger threeSum(int[] nums) { List result new ArrayList(); Arrays.sort(nums); for (int i 0; i nums.length - 2; i) { if (i 0 nums[i] nums[i - 1]){ continue; } if (nums[i] nums[i1] nums[i2] 0){ break; } if (nums[i] nums[nums.length - 1] nums[nums.length - 2] 0){ continue; } int k i 1; int j nums.length - 1; while(k j){ if (nums[i] nums[k] nums[j] 0){ k; }else if (nums[i] nums[k] nums[j] 0){ j--; }else { List list new ArrayList(); list.add(nums[i]); list.add(nums[k]); list.add(nums[j]); result.add(list); k; while(k j nums[k] nums[k - 1]){ k; } j--; while(k j nums[j] nums[j 1]){ j--; } } } } return result; } }注只为记录自己的练习过程方便回顾
RELATED

相关推荐

计算机毕业设计之基于ssm框架的食品安全及溯源系统

计算机毕业设计之基于ssm框架的食品安全及溯源系统

随着经济的发展,互联网络时代也在飞速进步,每个行业都在努力发展现在先进技术,通过这些先进的技术来提高自己的水平和优势。本文将讲述设计开发一个食品安全及溯源系统管理,这个食品安全及溯源系统管理包括四个部分:管…

📅 2026/10/6 22:50:32
51. OrCAD中怎么创建新的原理图工程文件?I Cadence Allegro 电子设计 快问快答

51. OrCAD中怎么创建新的原理图工程文件?I Cadence Allegro 电子设计 快问快答

大家好。在使用OrCAD进行原理图设计时,第一步便是创建新的工程文件(Project)。正确的工程创建操作不仅决定了设计文件的存储位置,也关系到后续所有原理图页面、库文件及输出文件的组织与管理。OrCAD提供了【New Project】向导&…

📅 2026/10/29 19:39:25
实习日志day6--实习日志day6--title命名规范化businessType纠正补充缺失的@Log注解报警与通信模块补充产出阶段总结文档

实习日志day6--实习日志day6--title命名规范化businessType纠正补充缺失的@Log注解报警与通信模块补充产出阶段总结文档

日期:2026.7.8今日任务对照着Qoderwork刷算法题 制定 title 命名规范:统一为"模块名操作描述"格式,如"用户管理-列表查询"、“设备管理-新增” 修改系统模块 Controller 的 title: SysUserController.java&am…

📅 2026/10/8 5:53:08
MORE NEWS

更多资讯

📰

青田县电工证培训通过率揭秘:证书过期了不知道怎么复审延期

青田县电工证培训通过率揭秘:证书过期了不知道怎么复审延期 你是不是也遇到过这种情况?电工证到期了,但你根本不知道该怎么复审,更别说延期了。别急,这篇文章就是为你准备的。青田县电工证培训的通过率揭秘,以及复审、继续教育、岗位职责这些干货,我都…

📰

2026河南最新政策下特种电工作业教学怎么安排才不耽误工地进度

2026河南最新政策下特种电工作业教学怎么安排才不耽误工地进度 工地太忙根本没时间复习考试,这句话说出了多少一线电工的心声。尤其是在2026河南最新政策下,特种电工作业教学的要求更严格了,复习和备考的时间被进一步压缩。作为周口应届工程类毕业…

📰

在昆山哪里学电工证怎么选机构才能不被坑 考前押题攻略全公开

在昆山哪里学电工证怎么选机构才能不被坑 考前押题攻略全公开 你是不是也这样,听说要考电工证,结果一查信息,满屏都是培训机构,价格五花八门,还有一堆“包过”“保证下证”之类的承诺,让你摸不着头脑? 在昆山哪里学电工证…

📰

电工证审理怎么查询保姆级教程:别被中介骗了,自己查更靠谱

电工证审理怎么查询保姆级教程:别被中介骗了,自己查更靠谱 你是不是也遇到过这种情况?拿着手机搜“电工证审理怎么查询”,结果一堆中介电话轰炸,说啥“包过”“包办”“免审核”,听起来靠谱,但一交钱就没了下文。其实,查电工证审理状态这件事,…

📰

河源连平电工证换证怎么考,全国通用怎么拿?

河源连平电工证换证怎么考,全国通用怎么拿? 实操考试心里没底怕挂科?别慌,换证流程其实没那么复杂。尤其是对在河源连平从事电工工作的你来说, 全国通用…

📰

任县电工证怎么复审官方报名入口在哪找

任县电工证怎么复审官方报名入口在哪找 怕考不过白交培训费?任县电工证复审流程不复杂,但很多人因为不了解官方报名入口,反而耽误了时间,甚至错过了复审期限,导致证书失效影响工作。其实只要掌握流程、找准官方报名入口,复审并不难。…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬