【leetcode】15.三数之和(python+转为两数之和+去重)

news2024/11/16 13:30:13

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

class Solution(object):
    def threeSum(self, nums):
        """
        :type nums: List[int]
        :rtype: List[List[int]]
        """
        # 思路:转为两数之和
        # for循环遍历先固定一个数字a,寻找另外两个数字之和=-a(双指针)
        # 难点:去重{1. 排序; 2.加规则约束}
        nums = sorted(nums)
        res = []
        for i in range(len(nums)):
            if nums[i] > 0: # 剪枝,nums[i]若为正数,后边的也都是正数,没有匹配的了。
                return res
            if i > 0 and nums[i] == nums[i-1]: # 写 nums[i] == nums[i+1],会越界
                continue
            tar = 0 - nums[i]
            left, right = i + 1, len(nums) - 1
            while left < right:
                summ = nums[left] + nums[right]
                if summ == tar:
                    res.append([nums[i], nums[left], nums[right]])
                    while left < right and nums[left] == nums[left+1]:
                        left += 1
                    while left < right and nums[right] == nums[right-1]:
                        right -= 1
                    left += 1
                    right -= 1
                elif summ < tar:
                    left += 1
                else:
                    right -= 1
        return res

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

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

相关文章

【高并发内存池】

&#x1f389;项目&#xff1a;高并发内存池 博主主页&#xff1a;桑榆非晚ᴷ 博主能力有限&#xff0c;如果有出错的地方希望大家不吝赐教 给自己打气&#xff1a;成功没有快车道&#xff0c;幸福没有高速路。所有的成功&#xff0c;都来自不倦地努力和奔跑&#xff0c;所有…

自动化测试工具——Fitnesse

1 介绍 是一个完全集成的独立wiki和验收测试框架。 1.1、协作工具 由于FitNesse是一个wiki web服务器&#xff0c;它的入门和学习曲线非常低&#xff0c;这使得它成为一个优秀的工具&#xff0c;可以与业务涉众进行协作。 1.2、测试工具 FitNesse中创建的wiki页面作为测试…

地球万物皆可计算!星图地球智脑引擎重磅发布

人类文明的每一次阶跃&#xff0c;都起源于计算。 1800多年前&#xff0c;在清脆的珠算声中&#xff0c;算盘拨出人类最古老的计算程序&#xff0c;带来农耕文明的繁盛&#xff1b;200多年前&#xff0c;在齿轮的转动间&#xff0c;机械计算机勾勒出第一次工业革命的袅袅蒸汽&…

Leetcode:167. 两数之和 II - 输入有序数组(2023.7.8 每日一题C++)

目录 167. 两数之和 II - 输入有序数组 题目描述&#xff1a; 实现代码与解析&#xff1a; 暴力&#xff08;超时&#xff09; 双指针 原理思路&#xff1a; 二分 原理思路&#xff1a; 167. 两数之和 II - 输入有序数组 题目描述&#xff1a; 给你一个下标从 1 开始的…

【Python编程系列】2、Python解释器

Python解释器 自带IDLE 当我们使用"Install Now"的默认安装方式时,会自动安装一个纯Python下使用Tkinter编写的相当基本的IDE。 什么是IDE?Integrated Development Environment,集成开发环境。 有多基础呢?可以打开看看它的界面就知道了! 编写代码后,点击回车…

Python——— 分支结构循环结构

&#xff08;一&#xff09;语句底层逻辑思维 控制语句&#xff1a;把语句组合成能完成一定功能的小逻辑模块。 分为三类&#xff1a;顺序、选择和循环。 其中&#xff1a; “ 顺序结构 ” 代表 “先执行a&#xff0c;再执行b” 的逻辑。比如&#xff0c;先找个女朋友&…

实验室信息化LIMS如何采集实验室仪器设备数据?

1. 简述 数据采集功能&#xff0c;数据采集工具将以客户端的形式运行在与设备连接的工作站电脑上&#xff0c;主要负责将设备产生的完整的可输出的原始结果提取到LIMS系统&#xff0c;供实验室人员进行报告生成&#xff0c;汇总等操作。 2. 实现方式 仪器数据采集采用LIMS系统…

单摆模型仿真(SMART PLC梯形图实现)

单摆模型详细介绍这里不再赘述,大家可以参看下面文章链接,单摆模型的仿真有助于大家理解分析力学的有关知识,同时模型的实现可以帮助大家更好的理解和运用微分和积分这2个强有力的工具。 单摆模型(博途PLC和Simulink仿真对比)_RXXW_Dor的博客-CSDN博客单摆模型的详细推导公…

深入分析Spring的IoC容器:从底层源码探索

前言&#xff1a; 博主在最近的几次面试中&#xff0c;大中小厂都问到了Spring的ioc容器相关问题&#xff0c;这块知识确实是面试中的重点内容&#xff0c;因此结合所看的书籍&#xff0c;在这篇文章中总结下。该专栏比较适合刚入坑Java的小白以及准备秋招的大佬阅读&#xff0…

Graalvm编译spring boot 3 + jpa 的原生镜像

编译spring boot 3 native jpa的原生镜像 其中涉及版本&#xff1a; maven: 3.5.4 jdk: 17 graalvm: 22.3 springboot jpa: 3.0.8 一、Windows 1、graalvm安装 GraalVM22.3.0安装地址 解压到任意目录后添加JAVA_HOME环境变量 新增path&#xff1a;%JAVA_HOME%与%JAVA_H…

开发日记-凌鲨中微应用的安全性

凌鲨在框架上使用了特别注重安全性的tauri框架&#xff0c;里面所有的权限都需要明确给出。 微应用本质上是静态web页面加上注入的额外能力。额外能力通过tauri的ipc注入和访问http服务。为了保证主服务的稳定性&#xff0c;一些能力我们是以外挂可执行文件的方式&#xff0c;…

Redis过期策略和持久化机制全面揭秘,教你如何合理配置

Redis过期策略 Redis过期策略就是指Redis如何处理设置了过期时间的键值对。Redis的过期策略有两种&#xff1a;定期删除和惰性删除。 定期删除 定期删除&#xff0c;指的是Redis默认每隔100ms就随机抽取一些设置了过期时间的key&#xff0c;检查是否过期&#xff0c;如果过期…

谈谈mysql——主从模式下的同步方式及半同步、MGR的部署方式

MySQL的复制模式 异步复制 MySQL的复制方式默认是异步的&#xff0c;主从复制涉及三个线程 master I/O master I/O线程负责写入Binlog&#xff0c;并将执行结果返给客户端&#xff0c;至于Binlog有没有被IO线程读取&#xff0c;读取后有没有重放&#xff0c;重放有没有成功&…

Linux系统:OpenSSH7.4p升级到9.0p

目录 一、理论 1.ssh 2.OpenSSH 二、实验 1.OpenSSH升级 三、问题 1.远程SSH服务器拒绝X11转发请求 2.sshd服务重启报错 四、总结 一、理论 1.ssh &#xff08;1&#xff09;概念 ssh 是协议&#xff0c;基于22端口的安全协议。 ssh中文解释是安全的shell&#xff…

使用高斯计需要注意哪些事项

高斯计&#xff08;特斯拉计&#xff09;是检测磁体磁感应强度的专用仪器&#xff0c;可以测量永磁材料的表磁&#xff0c;磁路间隙磁场以及磁场发生装置产生的空间磁场测量。高斯计&#xff08;特斯拉计&#xff09;作为一种比较精密的仪器&#xff0c;在使用过程中应注意以下…

【数据挖掘】推荐系统(一):协同过滤

一、说明 推荐系统是一种计算机程序或算法&#xff0c;用于预测用户对特定项目的兴趣度&#xff0c;并根据这些预测向用户提供个性化推荐。这种系统通常使用大量数据来分析用户的行为和偏好&#xff0c;以找出潜在的喜好和兴趣。推荐系统可以应用于电子商务、社交媒体、影视娱乐…

Java 项目 - SpringBoot+Vue的智慧养老系统

文章目录 1.研究背景2. 技术栈3.系统分析4系统设计4.1 软件功能模块设计4.2数据库设计与实现 5系统详细设计5.1系统功能模块5.2后台登录功能5.2.1管理员功能 源码下载地址 1.研究背景 困扰管理层的许多问题当中,智慧养老平台一定是养老平台不敢忽视的一块。但是管理好智慧养老…

浅浅记录下fortinet vpn链接遇到的一些问题

一、前言 有点问题的win7系统 一、fortinet vpn无法安装问题 说是缺少KB3033929。 首先激活这个系统&#xff0c;怎么激活的这里省略了&#xff0c; 然后下载了一个360修复了一下系统。 二、fortinet vpn安装 刚开始安装的forticlientVPNSetup_7.0.5&#xff0c;安装完成。…

sd卡自动删除的数据如何恢复?数据重获新生的五种方法

用户咨询案例分享&#xff1a; 咨询1&#xff1a;请问SD卡为什么会自动删除里头的文件呀&#xff1f;怎么找回&#xff01;&#xff01;&#xff01; 咨询2&#xff1a;SD卡不知道为什么突然自动删除什么都没有了!还能恢复吗 更多...... 在日常生活中&#xff0c;我们经常使用S…

【电子量产工具】5.页面系统

文章目录 前言一、页面系统分析二、页面数据结构抽象三、底层代码 main_page.c四、页面管理器五、测试程序测试效果总结 前言 最近看了 电子量产工具 这个项目&#xff0c;本专栏是对该项目的一个总结。 一、页面系统分析 页面系统是指在软件应用或网站中&#xff0c;将功能和…