【Leetcode】15. 三数之和

【Leetcode】15. 三数之和

    • 题目链接
    • 思路
    • 代码

题目链接

【Leetcode】15. 三数之和

思路

排序+双指针+去重

代码

func threeSum(nums []int) [][]int {// 切片升序排序sort.Slice(nums, func(i, j int) bool {return nums[i] < nums[j]})// 结果切片ans := [][]int{}n := len(nums)// 枚举第一个位置for i := 0; i < n-2; i++ {// 如果枚举的第一个数字 已经 > 0,则不存在符合条件的结果if nums[i] > 0 {break}// 对第一个数字相等的情况进行去重if i > 0 && nums[i] == nums[i-1] {continue}// 双指针l, r := i+1, n-1for l < r {// 当前的总和sum := nums[i] + nums[l] + nums[r]// 如果总和=0,则符合条件if sum == 0 {// 添加进结果数组ans = append(ans, []int{nums[i], nums[l], nums[r]})// 对第二个数字进行去重for l < r && nums[l] == nums[l+1] {l++}// 对第三个数字进行去重for l < r && nums[r] == nums[r-1] {r--}// 第二个数字跟第三个数字的指针移动l++r--} else if sum < 0 {l++} else {r--}}}return ans
}

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

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

相关文章

如何设置电脑桌面提醒,电脑笔记软件哪个好?

对于大多数上班族来说&#xff0c;每天要完成的待办事项实在太多了&#xff0c;如果不能及时去处理&#xff0c;很容易因为各种因素导致忘记&#xff0c;从而给自己带来不少麻烦。所以&#xff0c;我们往往会借助一些提醒类的软件将各项任务逐一记录下来&#xff0c;然后设置上…

微前端理论

学习微前端时&#xff0c;有几个核心概念和技术点是必须要理解和掌握的&#xff1a; 微前端架构&#xff1a; 微前端是一种将大型单体应用拆分为多个小型前端应用&#xff0c;每个应用可以独立开发、部署和升级&#xff0c;最后通过某种集成方式统一呈现给用户的前端架构模式。…

手持终端PDA定制厂家_5G安卓手持机设备/条形码扫描手持机PDA

手持终端PDA是一种功能强大的手持终端设备&#xff0c;具备一维码和二维码扫描功能&#xff0c;广泛应用于门票管理、零售、智能巡检、仓储物资管理、金融、快递等领域。 这款手持终端基于MT6877方案&#xff0c;搭载八核处理器(2xCortex-A78 2.4GHz 6xCortex-A55 2.0GHz)&…

高速PCB设计10大要点总结

学习高速PCB设计&#xff0c;掌握这10个知识点很重要&#xff01; 在高速PCB设计的学习中&#xff0c;有很多的知识点需要大家去了解和掌握&#xff0c;比如常见的信号完整性、反射、串扰、电源噪声、滤波等。本文和大家分享10个和高速PCB设计相关的重要知识&#xff0c;希望对…

ChatGPT4+Python近红外光谱数据分析及机器学习与深度学习建模进阶应用

2022年11月30日&#xff0c;可能将成为一个改变人类历史的日子——美国人工智能开发机构OpenAI推出了聊天机器人ChatGPT3.5&#xff0c;将人工智能的发展推向了一个新的高度。2023年4月&#xff0c;更强版本的ChatGPT4.0上线&#xff0c;文本、语音、图像等多模态交互方式使其在…

React16源码: React中的setState和forceUpdate源码实现

setState 和 forceUpdate 1 &#xff09; 概述 通过 class component 内部的 setState&#xff0c;以及 forceUpdate 去更新一个组件的过程在react的应用当中&#xff0c;我们只有 ReactDOM.render setState&#xff0c;以及 forceUpdate这几种种方式去更新react的应用是合理…

【Linux】修改Linux远程登录用户并授权,禁止root远程登录,修改Linux登录端口

一、修改Linux远程登录用户并授权 添加一个新的普通用户 用如下命令 adduser newuser 修改密码 passwd newuser 根据提示 输入密码 赋予newuser root 权限 修改 /etc/sudoers 文件 找到如下一行 &#xff0c;取消注释 ##Allows people in group wheel to run all commands %wh…

C# 学习笔记2-控制流与类型转换

控制流与类型转换 关于变量的简单操作判断循环类型转换异常处理检查数字类型的溢出 变量操作 一元运算符 Unary operators x&#xff0c;x&#xff0c;x--&#xff0c;--x。 这些运算符同 C。 postfix operator 后置运算符 还有 typeof(int)&#xff0c;sizeof(int)。 …

最新GPT4、AI绘画、DALL-E3文生图模型教程,GPT语音对话使用,ChatFile文档对话总结

一、前言 ChatGPT3.5、GPT4.0、GPT语音对话、Midjourney绘画&#xff0c;文档对话总结DALL-E3文生图&#xff0c;相信对大家应该不感到陌生吧&#xff1f;简单来说&#xff0c;GPT-4技术比之前的GPT-3.5相对来说更加智能&#xff0c;会根据用户的要求生成多种内容甚至也可以和…

【轮式移动机器人课程笔记 5】运动学仿真

L5 运动学仿真 本节重点&#xff1a; 如何理解推导出的运动学模型 回顾&#xff1a;机器人运动学模型 正向&#xff08;前向&#xff09;运动学模型反向运动学模型 基于MatLab运动学仿真 本节重点&#xff0c;如何利用matlab对运动学进行仿真 5.1 回顾运动学模型 [ x ˙ y …

离线AI聊天清华大模型(ChatGLM3)本地搭建

在特定的情况下&#xff0c;要保证信息安全的同时还能享受到AIGC大模型带来的乐趣和功能&#xff0c;那么&#xff0c;离线部署就能帮助到你&#xff0c;最起码&#xff0c;它是一个真正可用的方案。 大模型本身清华的 (ChatGLM3)&#xff0c;为的是对中文支持友好&#xff0c…

kotlin的接口详解

在 Kotlin 中&#xff0c;接口&#xff08;Interface&#xff09;是一种定义了一组方法的抽象类型。与类不同&#xff0c;接口不能包含状态或字段。接口中的方法可以有默认实现&#xff0c;也可以是抽象的需要在实现类中提供具体实现的方法。 为什么要使用接口&#xff1f; 多…

2696. 删除子串后的字符串最小长度 --力扣 --JAVA

题目 给你一个仅由 大写 英文字符组成的字符串 s 。 你可以对此字符串执行一些操作&#xff0c;在每一步操作中&#xff0c;你可以从 s 中删除 任一个 "AB" 或 "CD" 子字符串。 通过执行操作&#xff0c;删除所有 "AB" 和 "CD" 子串&a…

pythonnumpy十三:借助numpy解方程

使用NumPy进行解方程可以涉及线性方程组和非线性方程的求解。下面将给出详细的示例&#xff1a; 1.解线性方程组&#xff1a; 考虑以下线性方程组&#xff1a; 2x 3y 6 4x 5y 7我们可以使用NumPy的linalg.solve()函数求解该线性方程组。 import numpy as np# 定义系数矩…

Unity Editor实用功能:Hierarchy面板的对象上绘制按按钮并响应

目录 需求描述上代码打个赏吧 需求描述 现在有这样一个需求&#xff1a; 在Hierarchy面板的对象上绘制按钮点击按钮&#xff0c;弹出菜单再点击菜单项目响应自定义操作在这里的响应主要是复制对象层级路路径 看具体效果请看动图&#xff1a; 注&#xff1a; 核心是对Edito…

【2024系统架构设计】 系统架构设计师第二版-安全架构设计理论与实践

目录 一 安全架构概述 二 安全模型 三 系统安全体系架构规划框架 四 信息安全整体架构设计 五 网络安全体系架构设计 六 数据库系统安全设计

霹雳吧啦Wz《pytorch图像分类》-p6MobileNet网络

《pytorch图像分类》p6MobileNet网络结构详解 1 MobileNet v1网络1.1 Depthwise convolution&#xff08;DW卷积&#xff09;1.1.1Depthwise separable convolution&#xff08;深度可分的卷积操作&#xff09; 1.2 增加超参数α和β 2 MobileNet v2网络2.1 Inverted Residuals…

无标题无标题

ABC Puzzle 326D 题意&#xff1a;给两个长n的仅由ABC组成的字符串s1&#xff0c;s2&#xff0c;是否在n*n阵列中满足以下条件&#xff0c;若满足则输出&#xff0c;不满足输出No 条件1&#xff1a;每行每列仅包含一个A&#xff0c;一个B&#xff0c;一个C &#x…

传统 VC 机构,是否还能在 Fair launch 的散户牛市中胜出?

LaunchPad 是代币面向市场的重要一环&#xff0c;将代币推向市场&#xff0c;加密项目将能够通过代币的销售从市场上募集资金&#xff0c;同时生态也开始进入全新的发展阶段。而对于投资者来说&#xff0c;早期打新市场同样充满着机会&#xff0c;参与 LaunchPad 对于每一个投资…

2023年十大零日漏洞攻击

2023年&#xff0c;随着勒索软件和APT组织纷纷调整攻击策略&#xff0c;零日漏洞攻击快速升温并有望在2024年延续这一趋势。 根据谷歌威胁分析小组今年7月发布的报告&#xff0c;2021年野外利用零日漏洞数量&#xff08;69个&#xff09;创下历史新高后&#xff0c;2022年有所…