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

LeetCode Python - 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 。

提示:

  • 3 <= nums.length <= 3000
  • -105 <= nums[i] <= 105

答案

class Solution(object):def threeSum(self, nums):""":type nums: List[int]:rtype: List[List[int]]"""res, res_set = [], set()nums.sort()for i in range(len(nums) - 2):l, r = i + 1, len(nums) - 1while l < r:sm = nums[i] + nums[l] + nums[r] if sm < 0: l += 1elif sm > 0: r -= 1elif (nums[i], nums[l], nums[r]) not in res_set: res.append([nums[i], nums[l], nums[r]])res_set.add((nums[i], nums[l], nums[r])) else: l, r = l + 1, r - 1return res

运行结果

在这里插入图片描述
在这里插入图片描述

http://www.lryc.cn/news/299354.html

相关文章:

  • C#中implicit和explicit
  • 探讨java系统中全局唯一ID实现方案
  • 微信小程序(四十四)鉴权组件插槽-登入检测
  • 【ES】--ES集成热更新自定义词库(字典)
  • 能源管理师——为能源可持续发展护航
  • 设计模式理解:单例模式+工厂模式+建设者模式+原型模式
  • DataX源码分析 writer
  • 为自己的项目媒体资源添加固定高度
  • 家政小程序系统源码开发:引领智能生活新篇章
  • 多表查询
  • PHP开发日志 ━━ 深入理解三元操作与一般条件语句的不同
  • 多维时序 | Matlab实现RF-Adaboost随机森林结合Adaboost多变量时间序列预测
  • vue3-内置组件-Suspense
  • Rust入门:如何在windows + vscode中关闭程序codelldb.exe
  • git错误整理
  • 跟着cherno手搓游戏引擎【22】CameraController、Resize
  • 微信小程序(四十二)wechat-http拦截器
  • tomcat部署zrlog
  • Ubuntu Desktop 开机数字小键盘
  • 树莓派编程基础与硬件控制
  • autojs通过正则表达式获取带有数字的text内容
  • Android java基础_类的继承
  • nginx stream proxy 模块的ssl连接源码分析
  • C#面:Static Nested Class 和 Inner Class 有什么不同
  • LeetCode、208. 实现 Trie (前缀树)【中等,自定义数据结构】
  • java数据结构与算法刷题-----LeetCode151. 反转字符串中的单词
  • 《Java 简易速速上手小册》第8章:Java 性能优化(2024 最新版)
  • mysql全国省市县三级联动创表sql(一)
  • go面试题--使用两个goroutine交替打印数字与字母
  • DolphinScheduler-3.2.0 集群搭建