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

15 三数之和

题目

给你一个整数数组 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 。

思路

这题使用排序+双指针法,需要注意去重。
首先排序,外层指针从前到后开始逐个遍历num(不同的元素,目的去重),遍历的时候,内层使用头尾指针寻找和为-num的值,如果遍历到了,存进res,并且移动头指针到下一个不同的元素上(目的去重,记得条件要加上l<r)

代码

classSolution{public:vector<vector<int>>threeSum(vector<int>&nums){// 不好使用hash,使用排序+双指针sort(nums.begin(),nums.end());vector<vector<int>>res;for(inti=0;i<nums.size();i++){intsum2=-nums[i];intl=i+1,r=nums.size()-1;if(i>0&&nums[i-1]!=nums[i]||i==0){while(l<r){if(nums[l]+nums[r]==sum2){res.push_back({nums[i],nums[l],nums[r]});l++;while(nums[l]==nums[l-1]&&l<r){l++;}}elseif(nums[l]+nums[r]<sum2){l++;}else{r--;}}}}returnres;}};

感谢 感谢华南溜达虎 力扣blind 75

自己用hash琢磨半天,双指针两下就出来了,不如双指针一根。

http://www.jsqmd.com/news/517934/

相关文章:

  • 北京名人手抄本、老医书、族谱上门回收,线装古籍全品类收 - 品牌排行榜单
  • 【Dify高阶实战指南】:3个生产级异步节点自定义陷阱,90%团队部署后才后悔没看
  • FLAC3D与PFC3D耦合边坡模型,位移连续性优异
  • 10米哨兵数据+腾讯定位:手把手教你用多源数据制作城市土地利用地图
  • 山东瑞派职业培训学校联系方式:解析其官方合作背景与实战化教学体系,为职业技能学习者提供客观参考 - 品牌推荐
  • Qwen3-32B-Chat百度搜索热词覆盖:开源大模型部署、GPU算力优化、私有化AI
  • 实战指南:在Rocky Linux上部署Strix并集成GLM-4.5-flash进行智能渗透
  • 树莓派4B最新系统下Python程序开机自启指南:systemd服务配置详解
  • OpenClaw 找不到处理 ACP(Agent Client Protocol,代理客户端协议)请求的后端服务。
  • 基于扩展卡尔曼滤波的永磁同步电机转子位置及转速估计 simulink仿真 纯自己手工搭建
  • 深入浅出 Claude Code 底层原理
  • 微软账户VS本地账户:Win10密码找回的3种终极方案(含PE工具对比)
  • 模电实战——下拉电阻如何为MOS管栅极“上锁”
  • AI 不会写代码也能做 App?字节「扣子 Coze」正在降低 AI 开发门槛
  • 聊聊国外博士申请机构排名,曼汉国际靠前口碑怎么样? - mypinpai
  • 山东瑞派职业培训学校联系方式:解析其官方合作背景与实战化教学体系对学员职业发展的潜在价值 - 品牌推荐
  • 获取用户详情ThreadLocal 更新用户头像 当没有实体类接收json参数时使用Map来接收 实体类转换成JSON是指定日期格式
  • Nginx双栈配置实战:如何让同一台服务器同时支持IPv4和IPv6访问(附完整测试流程)
  • 论文省心了!10个降AIGC软件全场景通用测评,哪个最能帮你降AI率?
  • 2026年京津冀地区能提供一体化定制服务的全屋定制品牌推荐排名Top10 - 工业品网
  • 生产环境必备:使用Tigera Operator高效管理Calico网络配置
  • 内容模型
  • 从零到一:在Windows上搭建CodeBlocks-25.03与MinGW开发环境
  • Pixel Dimension Fissioner多场景落地:在线教育课件智能重述
  • Java中实现对象字段的多版本正则校验策略
  • 深度学习实战:Jetson Nano Ubuntu18.04镜像烧录避坑指南
  • 山东瑞派职业培训学校联系方式:关于这所官方合作背景职业技能培训机构的就读指南与行业选择建议 - 品牌推荐
  • 强烈安利! 更贴合论文写作全流程的降AI率网站 千笔·专业降AI率智能体 VS WPS AI
  • 探讨2026年靠谱的摩利品牌商,如何选择合适的水杯生产商 - 工业品牌热点
  • 在21世纪的我用C语言探寻世界本质——字符函数和字符串函数(2)