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

Leetcode Hot 100 三数之和

在这里插入图片描述

思路

对数组先排序,然后使用双指针法进行,并且整个过程需要把握去重的逻辑

代码

class Solution:def threeSum(self, nums: List[int]) -> List[List[int]]:if not nums:return []nums.sort() #去重都需要排序res=[]for i in range(len(nums)):if i>0 and nums[i]==nums[i-1]:continue#重复的时候不用管left=i+1right=len(nums)-1while left<right:#等于就没三个数了s=nums[i]+nums[left]+nums[right]if s<0:left+=1elif s>0:right-=1else:res.append([nums[i],nums[left],nums[right]])#添加了之后还要继续去重#去重逻辑应该放在找到第一个三元组后,对left和right进行去重while left<right and nums[left]==nums[left+1]:left+=1while left<right and nums[right]==nums[right-1]:right-=1#指针一起收缩left+=1right-=1return res

相关文章:

  • 01硬件原理图
  • API 开发实战:基于京东开放平台的实时商品数据采集接口实现
  • 【C/C++】new关键字解析
  • 探索开源大模型体系:当今AI的引领者
  • ActiveMQ 安全机制与企业级实践(二)
  • 计算广告-广告智能出价原理-出价的数学建模
  • 连锁企业筹建流程效能提升方案:日事清在标准化进度管控中的落地应用​
  • SSTI学习
  • 学习人工智能开发的详细指南
  • 处理 Clickhouse 内存溢出
  • react naive 网络框架源码解析
  • javascript:void(0) 是一个常见的 JavaScript 伪协议
  • 深入解析代理服务器:原理、应用与实战配置指南
  • 修复CosyVoice中的ModuleNotFoundError: No module named ‘diffusers.models.lora‘记录
  • 【Python 文件I/O】
  • 【应用密码学】实验四 公钥密码1——数学基础
  • 岳冉RFID手持式读写器专业研发+模块定制双驱动
  • 单应性估计
  • 思科 SNS 3600 系列
  • 线性回归评价标准
  • 李云泽:支持小微企业、民企融资一揽子政策将从增供给、降成本、提效率、优环境4个方面发力
  • 十四届全国政协原常委、民族和宗教委员会原副主任苟仲文被提起公诉
  • 大学2025丨专访清华教授沈阳:建议年轻人每天投入4小时以上与AI互动
  • 第四轮伊美核问题谈判预计5月11日举行
  • 女租客欠租后失联,房东开门后无处下脚:40平公寓变垃圾场
  • “鱼米之乡”江苏兴化的产业哲学:以融合与创新重构价值链条