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

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
http://www.xdnf.cn/news/4348.html

相关文章:

  • Relay算子注册(在pytorch.py端调用)
  • 卷积神经网络实战(3)
  • 【基础】Python包管理工具uv使用全教程
  • Java日期格式化方法总结
  • DApp 开发:开启去中心化应用新时代
  • Spring事务和事务传播机制
  • C语言| 递归和循环的优缺点
  • 塔能水泵节能方案:精准驱动工厂能耗优化
  • 展锐Android13禁止用户使用超级省电
  • 新一代Python专业编译器Nuitka简介
  • ROS2:自定义接口文件(无废话)
  • 多模态理论知识
  • 二叉树与堆排序(概念|遍历|实现)
  • python酒店在线预定管理系统-酒店客房管理系统-快捷酒店入住系统
  • 【Linux系统】vim编辑器的使用
  • FoMo 数据集是一个专注于机器人在季节性积雪变化环境中的导航数据集,记录了不同季节(无雪、浅雪、深雪)下的传感器数据和轨迹信息。
  • C语言编程--递归程序--求数组的最大元素值
  • 油气地震资料信号处理中的NMO(正常时差校正)
  • 【网络篇】传输层TCP协议的确认应答,超时重传机制
  • IT咨询——企业数据资产怎样评估
  • 满分PPT | 基于数据运营的新型智慧城市实践与思考智慧城市数据中台解决方案智能建筑与智慧城市建设方案
  • 基于nacos实现动态线程池设计与实践:告别固定配置,拥抱弹性调度
  • LabVIEW与 IMAQ Vision 机器视觉应用
  • C++类与对象基础续
  • 15.命令模式:思考与解读
  • 毫米波雷达原理(最通俗的解释)
  • MATLAB程序演示与编程思路,相对导航,四个小车的形式,使用集中式扩展卡尔曼滤波(fullyCN-EKF)
  • go 编译报错:build constraints exclude all Go files
  • Python使用爬虫ip抓取热点新闻
  • autojspro怎么免费用