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

三数之和(LeetCode)

题目

给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != ji != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请

你返回所有和为 0 且不重复的三元组。

注意:答案中不可以包含重复的三元组。

解题

def threeSum(nums):nums.sort()  # 首先对数组进行排序result = []  # 用于存储最终结果的列表for i in range(len(nums) - 2):if i > 0 and nums[i] == nums[i - 1]:# 避免重复的三元组continueleft, right = i + 1, len(nums) - 1while left < right:total = nums[i] + nums[left] + nums[right]if total < 0:left += 1elif total > 0:right -= 1else:# 找到一个和为0的三元组result.append([nums[i], nums[left], nums[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 result# 示例
nums = [-1, 0, 1, 2, -1, -4]
print(threeSum(nums))

[[-1, -1, 2], [-1, 0, 1]]

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 全栈监控:一目了然的 IT 管理
  • 第13节课:Web Workers与通信——构建高效且实时的Web应用
  • MySQL笔记-基础篇(一):查询
  • EdgeWorkers 最佳实践丨助力流媒体创新
  • 深入理解 Java SPI - 概念、原理、应用
  • JavaScript基础(30)_事件的冒泡、事件的委派
  • 出行365:依托分布式数据库,让出行无忧 | OceanBase案例
  • ios语言基础
  • Android 通知栏推送功能
  • 学习笔记第二十二天
  • QT键盘和鼠标事件
  • 画菱形(曼哈顿距离)
  • 【深度学习】DeepSpeed,ZeRO 数据并行的三个阶段是什么?
  • mysql中B+树的数据存储
  • 【MySQL】最左前缀匹配原则
  • 分享的文章《人生如棋》
  • 《Java编程思想》读书笔记-对象导论
  • 10个确保微服务与容器安全的最佳实践
  • Android Studio:GIT提交项目到远程仓库
  • dva中组件的懒加载
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • Linux快速复制或删除大量小文件
  • Redis 懒删除(lazy free)简史
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Vue官网教程学习过程中值得记录的一些事情
  • 初识 webpack
  • 近期前端发展计划
  • 算法---两个栈实现一个队列
  • 腾讯视频格式如何转换成mp4 将下载的qlv文件转换成mp4的方法
  • 携程小程序初体验
  • elasticsearch-head插件安装
  • Python 之网络式编程
  • #NOIP 2014#Day.2 T3 解方程
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (C#)Windows Shell 外壳编程系列9 - QueryInfo 扩展提示
  • (差分)胡桃爱原石
  • (附源码)计算机毕业设计高校学生选课系统
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (十七)Flink 容错机制
  • (图文详解)小程序AppID申请以及在Hbuilderx中运行
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转载)利用webkit抓取动态网页和链接
  • .mysql secret在哪_MYSQL基本操作(上)
  • .net core Swagger 过滤部分Api
  • .net framework 4.8 开发windows系统服务
  • .net反编译工具
  • .NET企业级应用架构设计系列之技术选型
  • .net下的富文本编辑器FCKeditor的配置方法
  • @Builder注释导致@RequestBody的前端json反序列化失败,HTTP400
  • @PostConstruct 注解的方法用于资源的初始化
  • @RequestMapping-占位符映射
  • @SpringBootApplication 包含的三个注解及其含义
  • [ C++ ] STL_list 使用及其模拟实现
  • [ Linux 长征路第五篇 ] make/Makefile Linux项目自动化创建工具