【hot100篇-python刷题记录】【三数之和】

news2024/11/15 1:44:57

R7-双指针篇

思路:

三个元素,代表需要3个指针,利用双指针收缩的思想,我们可以设置k,i,j三个元素指针。

k代表最外层的循环,循环一遍数组。(为了降低时间复杂度以及搜索难度,我们先将nums sort一下)

i,j代表双指针收缩,i从k+1开始,j从n-1往回收。

tips:

本题一大重点在于重复值的处理上。 

class Solution:
    def threeSum(self, nums: List[int]) -> List[List[int]]:
        ret=[]
        nums.sort()
        n=len(nums)
        for k in range(n-2):
            if nums[k]>0:
                break
            #重复跳过
            if k>0 and nums[k]==nums[k-1]:
                continue
            i=k+1
            j=n-1
            #同一个k的不同i,j组合
            while i<j:
                sum=nums[k]+nums[i]+nums[j]
                if sum<0:
                   #扩展i
                   i+=1
                   while i<j and nums[i]==nums[i-1]:
                      i+=1
                elif sum>0:
                   #收缩j
                   j-=1
                   while i<j and nums[j]==nums[j+1]:
                      j-=1
                else:
                   ret.append([nums[k],nums[i],nums[j]])
                   i+=1
                   j-=1
                   #还是要处理重复
                   while i<j and nums[i]==nums[i-1]:
                      i+=1
                   while i<j and nums[j]==nums[j+1]:
                      j-=1
        return ret

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2091284.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

移动硬盘文件夹变成白色无法正常访问,怎么恢复?

在使用移动硬盘时&#xff0c;有时会遇到文件夹变白的情况。这通常意味着文件夹已经损坏或无法正常访问。本文将分析移动硬盘文件夹变白的原因&#xff0c;并提供相应的恢复方法。 一、原因分析 文件系统损坏&#xff1a;移动硬盘的文件系统可能因多种原因而损坏&#xff0c;如…

001集——CAD—C#二次开发入门——开发环境基本设置

CAD C#二次开发首先需要搭建一个舒服的开发环境&#xff0c;软件安装后&#xff0c;需要修改相关设置。本文为保姆级入门搭建开发环境教程&#xff0c;默认已成功安装vs和cad 。 第一步&#xff1a;创建类库 第二步&#xff1a;进行相关设置&#xff0c;如图&#xff1a; 下一…

milvus资源限制 benchmarker压测 qps优化

根据milvus 资源限制的官网&#xff0c;我们得出百万数据资源限制。 1.dev 环境 对接不同的配置最大的qps 如下(dev的机器内存很小) 2.于是认为当前的性能是匹配的&#xff0c;然后加上资源限制&#xff0c;配置 压测结果如下 {"run_id": "13292982fee74f64…

基于springboot+vue的民族文化推广系统设计与实现---附源码92323

摘 要 在全球化和信息化日益加深的当下&#xff0c;保护和推广民族文化显得尤为重要。民族文化不仅是一个国家或地区的独特标识&#xff0c;更是其历史、传统和智慧的结晶。然而&#xff0c;随着现代社会的快速发展&#xff0c;许多传统文化和习俗面临着被遗忘和消失的风险。因…

ssh---配置密钥对验证

1&#xff0e;在客户端创建密钥对 ssh-keygen -t ecdsa秘钥存放位置&#xff08;生成密钥时的用户的工作目录下&#xff09; 2&#xff0e;将公钥文件上传至服务器 3&#xff0e;在服务器中导入公钥文本 4.在客户机设置ssh代理功能&#xff0c;实现免交互登录 5.测试

Python自适应光学模态星形小波分析和像差算法

&#x1f3af;要点 &#x1f3af;星形小波分析像差测量 | &#x1f3af;对比傅里叶和小波分析 | &#x1f3af;定义多尺度图像质量度量&#xff0c;矩阵数据 | &#x1f3af;像差校正算法 | &#x1f3af;受激发射损耗显微镜布局 | &#x1f3af;干涉仪分支校准&#xff0c;求…

Java 虚方法表(虚函数)

虚方法表 Java 中的虚方法表&#xff08;Virtual Method Table, VMT&#xff09;是实现动态方法分派和多态的重要机制。它帮助 Java 运行时系统&#xff08;JVM&#xff09;决定在继承体系中调用哪一个方法的具体实现。 什么是虚方法表&#xff1f; 虚方法表是一个类的内部数…

Linux学习笔记(4)----通过网口灯判断网速是千兆还是百兆

网卡PHY 移植注意事项 注意RTL8211F的LED0&#xff0c;LED1&#xff0c;LED2&#xff0c;软件是可以自定义的&#xff0c;比如百兆&#xff0c;千兆&#xff0c;是亮哪个灯&#xff0c;黄灯或者绿灯&#xff0c;还有传输时是闪烁哪个灯&#xff0c;要注意硬件上是怎么驱动灯的…

获取当前计算机的处理器架构platform.machine()

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 获取当前计算机的处理器架构 platform.machine() 选择题 关于以下代码的输出结果说法正确的是&#xff1f; import platform print("【执行】print(platform.machine())") prin…

Websocket测试工具,在线调试 - 在线工具

WebSocket 测试工具是用于测试 WebSocket 连接、发送和接收消息的工具。它们通常提供一个简单的用户界面&#xff0c;使开发人员能够快速验证 WebSocket 服务器的功能和性能。 在线Websocket测试工具体验地址&#xff1a;https://ewbang.com/websocket/index.html 什么是 WebSo…

具身智能(Embodied Intelligence)概述

目录 一、引言 二、具身感知 三、具身交互 四、具身智能体 五、虚拟到现实 一、引言 最近无论是斯坦福机器人炒虾&#xff0c;还是特斯拉官宣机器人进厂&#xff0c;都赚足了眼球&#xff0c;实力证明了具身智能&#xff08;Embodied Intelligence&#xff09;的火爆。…

SEO之网站结构优化(十四-内部链接及权重分配2)

初创企业搭建网站的朋友看1号文章&#xff1b;想学习云计算&#xff0c;怎么入门看2号文章谢谢支持&#xff1a; 1、我给不会敲代码又想搭建网站的人建议 2、“新手上云”能够为你开启探索云世界的第一步 博客&#xff1a;阿幸SEO~探索搜索排名之道 4、翻页过多 稍大型的商务…

无心剑中译莎士比亚《无君相伴浸寒冬》

莎士比亚十四行诗第98首 Sonnet 98 无君相伴浸寒冬 From you have I been absent in the spring, When proud pied April, dressed in all his trim, Hath put a spirit of youth in every thing, That heavy Saturn laughed and leapt with him. Yet nor the lays of birds,…

Python | Leetcode Python题解之第385题迷你语法分析器

题目&#xff1a; 题解&#xff1a; class Solution:def deserialize(self, s: str) -> NestedInteger:index 0def dfs() -> NestedInteger:nonlocal indexif s[index] [:index 1ni NestedInteger()while s[index] ! ]:ni.add(dfs())if s[index] ,:index 1index …

Vue3项目开发——新闻发布管理系统(四)

文章目录 七、登录&注册页面设计开发2、登录&注册页面设计3、表单校验规则设置七、登录&注册页面设计开发 2、登录&注册页面设计 登录页面如下: 点击“注册 →”,切换到注册页面: 点击“← 返回”,又可以切换回登录页面。 页面布局是这么设计的: 1…

保姆级Maven安装、配置、版本查询教程(包含配置本地仓库、阿里云私服、环境变量)

文章目录 一、Maven安装1. 下载zip包2. 解压 zip包 二、配置1. 配置本地仓库2. 配置阿里云私服3. 配置环境变量 三、Maven验证 此教程摘选自我的笔记&#xff1a;黑马JavaWeb开发笔记11——Maven介绍、详细安装、环境配置步骤教程&#xff0c;想要了解Maven组成和作用可以移步此…

中国各地区数字经济发展对环境污染的影响数据(2011-2021年)

关于中国各地区数字经济发展对环境污染的影响数据&#xff08;2011-2021年&#xff09;&#xff0c;可以从以下几个方面获取相关信息&#xff1a; 数字经济水平&#xff1a;可以通过熵值法衡量的数字经济水平指标来评估各地区的数字经济发展情况。 环境污染物排放量&#xff1…

桥梁在线监测解决方案:科技赋能,守护桥梁安全

在现代社会&#xff0c;桥梁作为连接城市与乡村、跨越河流与峡谷的重要交通设施&#xff0c;其安全性和稳定性直接关系到人民生命财产的安全以及经济社会的正常运转。然而&#xff0c;桥梁在长期使用过程中&#xff0c;会受到自然环境、车辆荷载、材料老化等多种因素的影响&…

中国各地区-城市创新和产业创新指数(2001-2021年)

数据及指标 年份、行业代码、行业名称、大类行业、产业创新指数、城市代码、城市、省份、城市创新指数。 2001-2021年 中国各地区-城市创新和产业创新指数https://download.csdn.net/download/2401_84585615/89504735 中国各地区在城市创新和产业创新指数方面有显著的发展和…

制作效果图常用的软件和渲染器介绍

我们用于效果图制作与渲染的软件主要有3ds Max、Sketchup、Rhino、V-Ray、Corona、Enscape、Lumion和D5 渲染器等。用于制作效果图的软件很多&#xff0c;作为初学者&#xff0c;我们没必要都学习&#xff0c;只需选择一个设计软件和一个渲染器学习就可以了&#xff0c;等都彻底…