Golang | Leetcode Golang题解之第15题三数之和

题目:

题解:

func threeSum(nums []int) [][]int {n := len(nums)sort.Ints(nums)ans := make([][]int, 0)// 枚举 afor first := 0; first < n; first++ {// 需要和上一次枚举的数不相同if first > 0 && nums[first] == nums[first - 1] {continue}// c 对应的指针初始指向数组的最右端third := n - 1target := -1 * nums[first]// 枚举 bfor second := first + 1; second < n; second++ {// 需要和上一次枚举的数不相同if second > first + 1 && nums[second] == nums[second - 1] {continue}// 需要保证 b 的指针在 c 的指针的左侧for second < third && nums[second] + nums[third] > target {third--}// 如果指针重合,随着 b 后续的增加// 就不会有满足 a+b+c=0 并且 b<c 的 c 了,可以退出循环if second == third {break}if nums[second] + nums[third] == target {ans = append(ans, []int{nums[first], nums[second], nums[third]})}}}return ans
}

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

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

相关文章

埋点测试 之 前端和后端

埋点其实就是在程序中的某个位置加一个标记&#xff0c;当用户触发到某个行为的时候&#xff0c;就采集一下数据&#xff0c;然后将数据上报到某个位置进行存储&#xff0c;埋点的最终目的是收集到相关的数据&#xff0c;用于给运营人员提供数据支撑等。 1. 小程序&#xff1a;…

英语新概念2-回译法-lesson2

这是一个星期天。我从来不在星期天早起&#xff0c;我又是一直赖床到午餐时间。上个星期填我起的非常晚。我看着窗外&#xff0c;外面是黑压压的&#xff0c;“鬼天气&#xff01;"我想。“又在下雨”&#xff0c;不一会儿&#xff0c;电话铃声响起&#xff0c;是我的姑妈…

每天学习一个Linux命令之curl

每天学习一个Linux命令之curl 在Linux系统中&#xff0c;有很多有用的命令可以帮助我们与网络进行交互。一个非常常用的命令是curl&#xff0c;它是一个功能强大的工具&#xff0c;可用于发送、接收和处理各种网络请求。本文将详细介绍在Linux下使用curl命令的各种选项及其用法…

基于GD32的简易数字示波器(3)- PCB设计

这期记录的是项目实战&#xff0c;做一个简易的数字示波器。 教程来源于嘉立创&#xff0c; 本期介绍PCB设计的大致流程。 下图为示波器的指标 具有选择交流耦合还是直流耦合功能、输入信号不衰减或衰减50倍 输入频率理论最大800KHz输入幅值&#xff08;不衰减&#xff09;…

【Python】文件操作和异常

Python基础 读文件操作写文件操作异常异常处理else 和 finally 模块安装第三方包 使用 open() 方法打开一个文件&#xff0c;返回一个文件对象。对应 close() 就是文件关闭。 完整格式&#xff1a;open(file, mode‘r’, buffering-1, encodingNone, errorsNone, newlineNone, …

阿里面试总结

ThreadLocal 线程变量存放在当前线程变量中&#xff0c;线程上下文中&#xff0c;set将变量添加到threadLocals变量中 Thread类中定义了两个ThreadLocalMap类型变量threadLocals、inheritableThreadLocals用来存储当前操作的ThreadLocal的引用及变量对象&#xff0c;把当前线程…

avro c++编译与使用

一、arvo介绍 Avro 是 Hadoop 中的一个子项目&#xff0c;也是一个数据序列化系统&#xff0c;其数据最终以二进制格式&#xff0c;采用行式存储的方式进行存储。 Avro提供了&#xff1a; 1)、丰富的数据结构。 2)、可压缩、快速的二进制数据格式。 3)、一个用来存储持久化数据…

Mac 每次重启终端都要重新配置mysql环境变量解决办法

1、问题 Mac 每次关闭终端后&#xff0c;mysql环境配置就失效了&#xff0c;需要重新配置mysql环境变量 2、解决方法 在 " ~/.zshrc "文件添加" source ~/.bash_profile "即可 vim ~/.zshrc source ~/.bash_profile 3、验证 退出终端后重新打开终端 mys…

算法 - 符号表-上

&#x1f3e0;个人主页&#xff1a;尘觉主页 文章目录 算法 - 符号表前言初级实现1. 链表实现无序符号表2. 二分查找实现有序符号表 二叉查找树1. get()2. put()3. 分析4. floor()5. rank()6. min()7. deleteMin()8. delete()9. keys()10. 分析 算法 - 符号表 前言 符号表&am…

说说虚拟化上部署Oracle RAC的那点注意事项

0.概述 目前在虚拟化上部署RAC主要是以下3个场景 1是VMWARE的虚拟化&#xff08;私有云&#xff09;&#xff1b; 2是国产厂商基于KVM的虚拟化&#xff08;私有云&#xff09;&#xff1b; 3是公有云&#xff0c;由云厂商给你提供虚拟主机和虚拟磁盘。 这里我只对前2个熟悉一些…

C++:MySQL的事务概念与使用(四)

1、事务的概念 定义&#xff1a;事务是构成单一逻辑工作单元的操作集合&#xff0c;要么完整的执行&#xff0c;要么完全不执行。无论发生何种情况&#xff0c;DBS必须保证事务能正确、完整的执行。 性质&#xff1a;事务的四大ACID性质。 原子性(Atomicity)&#xff1a;一个事…

YOLOV8 + 双目测距

YOLOV8 双目测距 1. 环境配置2. 测距流程和原理2.1 测距流程2.2 测距原理 3. 代码部分解析3.1 相机参数stereoconfig.py3.2 测距部分3.3 主代码yolov8-stereo.py 4. 实验结果4.1 测距4.2 测距跟踪4.3 测距跟踪分割4.4 视频展示 相关文章 1. YOLOv5双目测距&#xff08;python&…