当前位置: 首页 > 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

运行结果

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

相关文章:

LeetCode Python - 15.三数之和

目录 题目答案运行结果 题目 给你一个整数数组 nums &#xff0c;判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k &#xff0c;同时还满足 nums[i] nums[j] nums[k] 0 。请 你返回所有和为 0 且不重复的三元组。 注意&#xff1a;答案中不可…...

C#中implicit和explicit

理解: 使用等号代替构造函数调用的效果以类似重载操作符的形式定义用于类型转换的函数前者类型转换时候直接写等号赋值语法,后者要额外加目标类型的强制转换stirng str -> object o -> int a 可以 int a (int)(str as object)转换通过编译,但没有转换逻辑所以运行会报错…...

探讨java系统中全局唯一ID实现方案

为什么需要全局唯一ID 我们这里引用美团 Leaf 的场景介绍&#xff1a;在复杂分布式系统中&#xff0c;往往需要对大量的数据和消息进行唯一标识。如在美团点评的金融、支付、餐饮、酒店、猫眼电影等产品的系统中&#xff0c;数据日渐增长&#xff0c;对数据分库分表后需要有一…...

微信小程序(四十四)鉴权组件插槽-登入检测

注释很详细&#xff0c;直接上代码 新增内容&#xff1a; 1.鉴权组件插槽的用法 2.登入检测示范 源码&#xff1a; app.json {"usingComponents": {"auth":"/components/auth/auth"} }app.js App({globalData:{//定义全局变量isLoad:false} })…...

【ES】--ES集成热更新自定义词库(字典)

目录 一、问题描述二、具体实施1、Tomcat实现远程扩展字典2、验证生效3、ES配置远程扩展字典4、为何不重启ES能实现热更新 一、问题描述 问题现象: 前面完成了自定义分词器词库集成到ES中。在实际项目中词库是时刻在变更的&#xff0c;但又不希望重启ES&#xff0c;对此我们应…...

能源管理师——为能源可持续发展护航

能源管理师是在能源管理领域具有专业知识和技能的专业人士&#xff0c;他们的工作对于实现能源的有效利用和可持续发展至关重要。 能源管理师的主要职责是协助企业或组织进行能源管理&#xff0c;包括能源规划、能源审计、节能措施的实施和能源绩效的评估等。他们通过对能源使…...

设计模式理解:单例模式+工厂模式+建设者模式+原型模式

迪米特法则&#xff1a;Law of Demeter, LoD, 最少知识原则LKP 如果两个软件实体无须直接通信&#xff0c;那么就不应当发生直接的相互调用&#xff0c;可以通过第三方转发该调用。其目的是降低类之间的耦合度&#xff0c;提高模块的相对独立性。 所以&#xff0c;在运用迪米特…...

DataX源码分析 writer

系列文章目录 一、DataX详解和架构介绍 二、DataX源码分析 JobContainer 三、DataX源码分析 TaskGroupContainer 四、DataX源码分析 TaskExecutor 五、DataX源码分析 reader 六、DataX源码分析 writer 七、DataX源码分析 Channel 文章目录 系列文章目录前言DataX的Writer写入流…...

为自己的项目媒体资源添加固定高度

为自己的项目媒体资源添加固定高度 未媒体资源添加固定高度&#xff0c;不仅有利于确定懒加载后的切确位置&#xff0c;还可以做骨架屏、loading动画等等&#xff0c;但是因为历史数据中很多没有加高度的媒体资源&#xff0c;所以一直嫌麻烦没有做。 直到这个季度有一个自上而…...

家政小程序系统源码开发:引领智能生活新篇章

随着科技的飞速发展&#xff0c;小程序作为一种便捷的应用形态&#xff0c;已经深入到我们生活的方方面面。尤其在家庭服务领域&#xff0c;家政小程序的出现为人们带来了前所未有的便利。它不仅简化了家政服务的流程&#xff0c;提升了服务质量&#xff0c;还为家政服务行业注…...

多表查询

目录 统计出一张数据表中的数据量 查询 dept 表中的数据量 查询 emp 表中的数据量 实现 emp 与 dept 的多表查询 笛卡尔积 消除笛卡尔积 把数据表 emp 的别名定为 e&#xff0c;数据表 dept 的别名定为 d&#xff0c;然后在查询中分别使用 e 和 d 代替这两个表 Oracle从…...

PHP开发日志 ━━ 深入理解三元操作与一般条件语句的不同

概况 三元运算符的功能与“if…else”流程语句一致。 在一般情况下&#xff0c;三元操作替换if条件语句可以精简代码&#xff0c;并且更为直观&#xff0c;但是在下面的情况中使用三元操作将会返回警告。 借图&#xff1a; 案例 比如原代码&#xff1a; class classA{publ…...

多维时序 | Matlab实现RF-Adaboost随机森林结合Adaboost多变量时间序列预测

多维时序 | Matlab实现RF-Adaboost随机森林结合Adaboost多变量时间序列预测 目录 多维时序 | Matlab实现RF-Adaboost随机森林结合Adaboost多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现RF-Adaboost随机森林结合Adaboost多变量时间序列预…...

vue3-内置组件-Suspense

Suspense (实验性功能) <Suspense> 是一项实验性功能。它不一定会最终成为稳定功能&#xff0c;并且在稳定之前相关 API 也可能会发生变化。 <Suspense> 是一个内置组件&#xff0c;用来在组件树中协调对异步依赖的处理。它让我们可以在组件树上层等待下层的多个嵌…...

Rust入门:如何在windows + vscode中关闭程序codelldb.exe

在windows中用vscode单步调试rust程序的时候&#xff0c;发现无论是按下stop键&#xff0c;还是运行完程序&#xff0c;调试器codelldb.exe一直霸占着主程序不退出&#xff0c;如果此时对代码进行修改&#xff0c;后续就没法再编译调试了。 目前我也不知道要怎么处理这个事&am…...

git错误整理

remote: Support for password authentication was removed on August 13, 2021. 参考&#xff1a;这篇即可 GnuTLS recv error (-110): The TLS connection was non-properly terminated. 执行下面的指令&#xff1a; git config --global http.sslVerify false...

跟着cherno手搓游戏引擎【22】CameraController、Resize

前置&#xff1a; YOTO.h: #pragma once//用于YOTO APP#include "YOTO/Application.h" #include"YOTO/Layer.h" #include "YOTO/Log.h"#include"YOTO/Core/Timestep.h"#include"YOTO/Input.h" #include"YOTO/KeyCod…...

微信小程序(四十二)wechat-http拦截器

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.wechat-http请求的封装 2.wechat-http请求的拦截器的用法演示 源码&#xff1a; utils/http.js import http from "wechat-http"//设置全局默认请求地址 http.baseURL "https://live-api.ith…...

tomcat部署zrlog

1.下载zrlog包&#xff0c;并添加到虚拟机中 1)进入/opt/apache-tomcat-8.5.90/webapps目录 cd /opt/apache-tomcat-8.5.90/webapps2)下载zrlog包 wget http://dl.zrlog.com/release/zrlog-1.7.1-baaecb9-release.war 3)重命名包 mv zrlog-1.7.1-baaecb9-release zrblog 2…...

Ubuntu Desktop 开机数字小键盘

Ubuntu Desktop 开机数字小键盘 1. 开机数字小键盘References 1. 开机数字小键盘 一般情况下&#xff0c;Ubuntu 开机后小键盘区是控制方向键而非数字键&#xff0c;每次开机后若用到数字键都需要按下 NumLock 键。 References [1] Yongqiang Cheng, https://yongqiang.blog…...

实战演练:基于快马平台开发结合openclaw配置模型的工业分拣模拟系统

最近在做一个工业分拣系统的模拟项目&#xff0c;尝试用openclaw配置模型来实现对不同形状物体的智能抓取。整个过程在InsCode(快马)平台上完成&#xff0c;发现这个工具特别适合快速搭建这类机器人控制原型。记录下具体实现过程&#xff1a; 场景搭建 首先用三维引擎创建了一个…...

提升vue开发效率的秘诀,快马平台一键生成通用组件库

最近在重构公司的中后台管理系统时&#xff0c;发现很多重复性的工作占用了大量开发时间。经过实践总结&#xff0c;我发现通过合理封装通用组件和工具集&#xff0c;可以显著提升Vue3项目的开发效率。今天就来分享下我的实战经验。 通用表格组件的封装 这个组件基于Element Pl…...

ComfyUI-WanVideoWrapper:5个技巧快速上手14B参数AI视频生成插件

ComfyUI-WanVideoWrapper&#xff1a;5个技巧快速上手14B参数AI视频生成插件 【免费下载链接】ComfyUI-WanVideoWrapper 项目地址: https://gitcode.com/GitHub_Trending/co/ComfyUI-WanVideoWrapper 在AI视频生成领域&#xff0c;ComfyUI-WanVideoWrapper作为一款强大…...

智能客服VS语音转写:不同场景下语音识别评估指标的选择指南

智能客服与语音转写&#xff1a;业务场景驱动的语音识别评估指标决策框架 当企业考虑部署语音识别系统时&#xff0c;技术团队常会抛出一堆专业术语&#xff1a;WER 15%、CER 8%、SER 22%...但对产品经理和解决方案架构师而言&#xff0c;这些数字背后意味着什么&#xff1f;选…...

芯片设计Signoff前必看!数字后端工程师的5大验证避坑清单(含CTS实战案例)

芯片设计Signoff前必看&#xff01;数字后端工程师的5大验证避坑清单&#xff08;含CTS实战案例&#xff09; 在数字后端设计的最后冲刺阶段&#xff0c;每个工程师都经历过那种如履薄冰的体验——明明所有检查项都已通过&#xff0c;却在流片前夜发现某个角落的时序违例。这种…...

别再搞混了!Docker部署Redis Stack时,选redis/redis-stack还是redis/redis-stack-server?

Redis Stack镜像选择指南&#xff1a;开发与生产环境的最佳实践 在容器化技术普及的今天&#xff0c;Docker已成为部署Redis Stack的首选方案。但面对官方提供的两个相似镜像——redis/redis-stack和redis/redis-stack-server&#xff0c;许多开发者常陷入选择困境。本文将深入…...

【AI智能体】Dify 实战:构建企业级自然语言SQL查询引擎

1. 从个人工具到企业级解决方案的跨越 第一次接触Dify的自然语言转SQL功能时&#xff0c;我被它的便捷性惊艳到了。只需要输入"显示上季度销售额最高的产品"&#xff0c;系统就能自动生成正确的SQL语句。但当我尝试在团队中推广使用时&#xff0c;各种问题接踵而至&a…...

干农活总腰疼?农民朋友别再硬扛腰突

经常弯腰种地、扛重物、干农活&#xff0c;很多农民朋友常年腰疼&#xff0c;总觉得累点正常&#xff0c;咬牙硬扛。 殊不知慢慢发展成腰间盘突出&#xff0c;坐骨神经疼、腿麻无力&#xff0c;后期连农活都干不了。乱贴偏方、盲目正骨&#xff0c;还容易加重病情。我院 30 多年…...

MRIcroGL:3步掌握开源医学影像3D可视化工具,让诊断更直观

MRIcroGL&#xff1a;3步掌握开源医学影像3D可视化工具&#xff0c;让诊断更直观 【免费下载链接】MRIcroGL v1.2 GLSL volume rendering. Able to view NIfTI, DICOM, MGH, MHD, NRRD, AFNI format images. 项目地址: https://gitcode.com/gh_mirrors/mr/MRIcroGL 想要…...

艾体宝洞察|语义搜索与关键词搜索?业务的抉择

包括我在内&#xff0c;不少人第一次做搜索功能时&#xff0c;都会觉得这是一件没什么技术含量的事&#xff1a;用户输入几个词&#xff0c;系统返回结果&#xff0c;不就行了吗&#xff1f; 但只要你真正做过搜索系统&#xff0c;尤其是参与过 RAG&#xff08;Retrieval-Augme…...