LeetCode 15 三数之和
题目链接
力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台
题目解析
// 1. 排序+双指针
// 2. 固定一个值nums[i] 然后去剩下的位置去找 两数之和符合nums[j]+nums[k]是否等于-nums[i]
// 3. 细节问题:由于题目中是不可以包含重复的三元组的,因此我们需要对我们所选的三个数进行去重
代码
class Solution
{
public:vector<vector<int>> threeSum(vector<int>& nums) {// 1. 排序+双指针// 2. 固定一个值nums[i] 然后去剩下的位置去找 两数之和符合nums[j]+nums[k]是否等于-nums[i]// 3. 细节问题:由于题目中是不可以包含重复的三元组的,因此我们需要对我们所选的三个数进行去重int n=nums.size();sort(nums.begin(),nums.end());vector<vector<int>> vv;vector<int> v;for(int i=0;i<n;){int target=-nums[i];// 由于数组中的数据是升序的// 那么最小的数都是正数,那么后面的数都是正数// 因此就不可能会有三个数相加等于0if(nums[i]>0) break; // 当该值不符合情况直接跳出for循环int left=i+1,right=n-1;while(left<right){int sum=nums[left]+nums[right];if(sum<target){left++;}else if(sum>target){right--;}// 当走到该位置的时候,那么这三个数就是符合条件的else{v.clear();v.push_back(nums[i]); v.push_back(nums[left]); v.push_back(nums[right]);vv.push_back(v);// vv.push_back({nums[i],nums[left],nums[right]});left++;right--;// 对两个指针进行去重while(left<right&&nums[left]==nums[left-1]) left++;while(left<right&&nums[right]==nums[right+1]) right--;}}// 对当前固定值进行去重i++;while(i<n&&nums[i]==nums[i-1]) i++;}return vv;}
};
相关文章:
![](https://img-blog.csdnimg.cn/ad2eb1ccdc96457f9a4de2d9281070d5.png)
LeetCode 15 三数之和
题目链接 力扣(LeetCode)官网 - 全球极客挚爱的技术成长平台 题目解析 // 1. 排序双指针 // 2. 固定一个值nums[i] 然后去剩下的位置去找 两数之和符合nums[j]nums[k]是否等于-nums[i] // 3. 细节问题:由于题目中是不可以包含重复的三元组的…...
![](https://img-blog.csdnimg.cn/img_convert/1984c819004571f237d62c906c9567e4.png)
车船边缘网关是如何给车辆船只定位的?
随着智能交通系统的不断发展,车路协同成为了重要的研究方向之一。而AI边缘计算网关在这个领域中发挥着至关重要的作用。本文将重点介绍AI边缘计算网关在车路协同中的应用,并强调其中的重点词汇或短语。 首先,什么是AI边缘计算网关࿱…...
![](https://img-blog.csdnimg.cn/7b01a213fca54b29ad7d8078093c1a4b.png)
详解MAC帧、ARP、DNS、ICMP协议
局域网通信原理 比如新建了一个内网,如果一台机器A找机器B,封FRAME时(OSI的第二层用的数据格式),要封装对方的MAC,开始时A不知道B的MAC,只知道IP,它就发一个ARP包,源IP是…...
![](https://img-blog.csdnimg.cn/8dcd81b928644539982e10371d9360f2.png)
Leetcode:【169. 多数元素】
题目 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 难度:简单 题目链接:169. 多数元素 示例 1ÿ…...
![](https://www.ngui.cc/images/no-images.jpg)
好用免费的Chat GPT
MindLink麦灵 你问我答 灵感 持续更新中。。。。...
![](https://www.ngui.cc/images/no-images.jpg)
MySQL-MHA
目录 1、什么是 MHA 2、MHA 的组成 3、MHA 的特点 3.1 MHA工作原理总结如下 4、搭建 MySQL MHA 4.1 实验环境配置 MHA架构 故障模拟 4.2 安装MHA所有组件 4.3 故障模拟 4.4 总结 1、什么是 MHA MHA(MasterHigh Availability)是一套优秀的My…...
![](https://img-blog.csdnimg.cn/0a436b74ac5f4b2182bfcef402b6c066.png)
初识Node.js与内置模块
1. 初识 Node.js 1.1 回顾与思考 1. 已经掌握了哪些技术 2. 浏览器中的 JavaScript 的组成部分 3. 思考:为什么 JavaScript 可以在浏览器中被执行 4. 思考:为什么 JavaScript 可以操作 DOM 和 BOM 5. 浏览器中的 JavaScript 运行环境 6. 思考ÿ…...
![](https://img-blog.csdnimg.cn/62ce392b44c04ffe8c89c674f5639121.png)
NLP(1)--NLP基础与自注意力机制
目录 一、词向量 1、概述 2、向量表示 二、词向量离散表示 1、one-hot 2、Bag of words 3、TF-IDF表示 4、Bi-gram和N-gram 三、词向量分布式表示 1、Skip-Gram表示 2、CBOW表示 四、RNN 五、Seq2Seq 六、自注意力机制 1、注意力机制和自注意力机制 2、单个输出…...
![](https://img-blog.csdnimg.cn/a7aa0f371afa4fd789dae132b230bb54.png)
Ubuntu 升级cuda版本与切换
下载cuda版本 进:CUDA Toolkit 12.2 Downloads | NVIDIA Developer wget https://developer.download.nvidia.com/compute/cuda/12.2.0/local_installers/cuda_12.2.0_535.54.03_linux.runsudo sh ./cuda_12.2.0_535.54.03_linux.run --toolkit --silent --overrid…...
![](https://img-blog.csdnimg.cn/46132c48ad004f99a90a1d16630a589d.png)
精讲算法的时间复杂度
目录 一、算法效率 1.算法效率 1.1如何衡量一个算法的好坏 1.2算法的复杂度 二、时间复杂度 1.时间复杂度的概念 2.大O的渐进表示法 3.常见时间复杂度的计算举例 三、空间复杂度 一、算法效率 1.算法效率 1.1如何衡量一个算法的好坏 long long Fib(int N) {if(N <…...
![](https://img-blog.csdnimg.cn/img_convert/d0c2462eb37bb188a353ec04b9d3c69e.png)
java八股文面试[多线程]——newWorkStealingPool
newWorkStealingPool是什么? newWorkStealingPool简单翻译是任务窃取线程池。 newWorkStealingPool 是Java8添加的线程池。和别的4种不同,它用的是ForkJoinPool。 使用ForkJoinPool的好处是,把1个任务拆分成多个“小任务”,把这…...
![](https://img-blog.csdnimg.cn/5f9545fc5c284f7cb2bc6739c24aae50.png)
STM32--RTC实时时钟
文章目录 Unix时间戳时间戳转换BKPRTC简介RTC框图硬件电路RTC的注意事项RTC时钟实验工程 Unix时间戳 Unix 时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。 时间戳存储在一个秒计数器中,秒计数器为32位/64…...
![](https://www.ngui.cc/images/no-images.jpg)
【N2】例题学习笔记
N2例题 《新"日本语能力测试"例题集》 听力原稿(PDF) 【10】 【問い】この筆者から見た「仕事ができる人」の特徴はどんなことか。 【提问】这位作者认为,仕事能力强的人具有什么特点呢? 【11】 文章 下の文章は、企業のあり方について…...
![](https://img-blog.csdnimg.cn/img_convert/3c5bbaa45bef35e5abd373f41ac8384a.webp?x-oss-process=image/format,png)
【数据分享】2006-2021年我国城市级别的道路、桥梁、管线建设相关指标(10多项指标)
《中国城市建设统计年鉴》中细致地统计了我国城市市政公用设施建设与发展情况,在之前的文章中,我们分享过基于2006-2021年《中国城市建设统计年鉴》整理的2006—2021年我国城市级别的市政设施水平相关指标、2006-2021年我国城市级别的各类建设用地面积数…...
![](https://www.ngui.cc/images/no-images.jpg)
视觉SLAM14讲笔记-第7讲-视觉里程计2
直接法的引出 直接法是视觉里程计另一个主要分支,它与特征点法有很大的不同。 使用特征点法估计相机运动时,我们把特征点看作固定在三维空间的不动点。根据它们在相机中的投影位置,通过最小化重投影误差来优化相机运动。 相对地,…...
![](https://www.ngui.cc/images/no-images.jpg)
MySQL——单行函数和分组函数
2023.9.3 单行函数的SQL语句学习笔记如下: #常见单行函数介绍(部分省略) #字符函数 #将姓变大写,名变小写,然后拼接。 SELECT CONCAT(UPPER(last_name), ,LOWER(first_name)) AS 姓名 FROM employees; # 姓名中首字符…...
![](https://img-blog.csdnimg.cn/fc7d420a48464bcf803e5371d569080d.png)
百度百科词条怎么更新?怎么能顺利更新百科词条?
企业和个人百度百科词条的更新对于他们来说都具有重要的意义,具体如下: 对企业来说: 塑造品牌形象:百度百科是一个常被用户信任并参考的知识平台,通过更新企业词条可以提供准确、全面的企业信息,帮助企业塑…...
![](https://img-blog.csdnimg.cn/img_convert/c7aa8a707882a1c3167fffb2d4bccf42.jpeg)
PPT怎么转换为PDF格式,收藏这两个在线工具。
PPT是一种常用的演示文稿格式,它可以包含丰富的动画效果和超链接,让你的内容更加生动和有趣。但是,如果你想将PPT分享给别人,或者在不同的设备上查看,你可能会遇到一些问题,比如: PPT文件太大&a…...
![](https://www.ngui.cc/images/no-images.jpg)
八大排序算法----堆排序
堆排序的基本步骤:(以从大到小的顺序排序为例) 1.构建大顶堆(每个结点的值都大于或等于其左右孩子结点的值) 2.排序:每次堆顶的元素取出来(整个堆中值最大),与最后一个…...
![](https://img-blog.csdnimg.cn/a0ea18bcf37643b6b1f8d1f4ed32def9.png)
Docker Desktop 设置镜像环境变量
点击run 展开Optional settings container name :容器名称 Ports:根据你需要的端口进行输入,不输入则默认 后面这个 比如我这个 5432 Volumes:卷,也就是做持久化 需要docker 数据保存的地方 Environment variables…...
![](https://img-blog.csdnimg.cn/01dce98cc9654a22b69d1f3512546162.png)
springboot之一:配置文件(内外部配置优先顺序+properties、xml、yaml基础语法+profile动态切换配置、激活方式)
配置的概念: Spring Boot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用application.properties或者application.yml(application.yaml)进行配置。 注意配置文件的命名必须是applicat…...
![](https://img-blog.csdnimg.cn/4208314195954c949e262ac0c302d10a.jpeg#pic_center)
涛然自得周刊(第 5 期):蝲蛄吟唱的地方
作者:何一涛 日期:2023 年 8 月 20 日 涛然自得周刊主要精选作者阅读过的书影音内容,不定期发。历史周刊内容可以看这里。 电影 《沼泽深处的女孩》 改编自小说《蝲蛄吟唱的地方》,主角是一位在沼泽地独自生活并长大的女孩&…...
![](https://img-blog.csdnimg.cn/62fe41845e954e62a9510d76eaa76433.gif#pic_center)
Android Ble蓝牙App(七)扫描过滤
Ble蓝牙App(七)扫描过滤 前言目录正文一、增加菜单二、使用MMKV① 添加依赖② 封装MMKV③ 使用MMKV 三、过滤空设备名四、过滤Mac地址五、过滤RSSI六、源码 前言 在上一篇文章中了解了MTU的相关知识以及对于设备操作信息的展示,本篇文章中将增…...
![](https://www.ngui.cc/images/no-images.jpg)
小程序当前页面栈以及跳转
1.调用页面栈刷新接口 let pages getCurrentPages(); //当前页面栈 if (pages.length > 1) { let beforePage pages[pages.length - 2]; //获取上一个页面实例对象 beforePage.$vm.getActivityLi…...
![](https://www.ngui.cc/images/no-images.jpg)
jQuery获取表单的值val()
(1)页面中有很多元素,包括表单中的输入项,如输入文本框等;获取、设置、输入文本框的值;val()方法。 (2)也包括<p>、<span>等元素;获取、设置这些元素的文本…...
![](https://img-blog.csdnimg.cn/c3068d9cff664423a0242e659177b882.png)
【专栏必读】数字图像处理(MATLAB+Python)专栏目录导航及学习说明
文章目录 第一章:绪论第二章:数字图像处理基础第三章:图像基本运算第四章:图像的正交变换第五章:图像增强第六章:图像平滑第七章:图像锐化第八章:图像复原第九章:图像形态…...
![](https://img-blog.csdnimg.cn/img_convert/9abccf7eb398c94a5fde5809de62fcc0.png)
2023年非证券类投资银行业发展报告
第一章 行业概况 非证券投资银行业是一个专门为公司、政府和高净值个人提供金融服务的行业,与传统的证券投资银行不同,其主要业务不涉及证券交易,而是注重为客户提供咨询服务、融资和投资管理等服务。 非证券投资银行通常涉及的业务领域包括…...
![](https://img-blog.csdnimg.cn/cd1fb304ce4b4e1ca680ff96c87165c5.png)
Matlab 如何把频谱图的纵坐标设置为分贝刻度
Matlab 如何把频谱图的纵坐标设置为分贝刻度 Matlab代码如下: % 如何把频谱图的纵坐标设置为分贝刻度 % % pr2_2_6 clc; clear; close all;load pr2_2_6_sndata1.mat % 读入数据 X fft(y); % FFT n2 1:L/21; % 计算正频率…...
![](https://www.ngui.cc/images/no-images.jpg)
VUE写后台管理(2)
VUE写后台管理(2) 1.环境2.Element界面3.Vue-Router路由后台1.左导航栏2.上面导航条 1.环境 1.下载管理node版本的工具nvm(Node Version Manager) 2.安装node(vue工程的环境管理工具):nvm install 16.13.0 3.安装vue工…...
![](https://www.ngui.cc/images/no-images.jpg)
RHCSA8.2
Node1 配置您的系统以使用默认存储库 配置您 的系统以使用默认存储库YUM 存储库已可以从 http://foundation0.ilt.example.com/dvd/BaseOS 和 http://foundation0.ilt.example.com/dvd/AppStream 使用配置您的系统,以将这些位置用作默认存储库[rootclear ~]# cat …...
![](https://img-blog.csdnimg.cn/20181202093301534.png)
网站建设上的新闻/中山seo推广优化
1.修改网卡,修改配置文件/etc/network/interfaces之后,重启network出现错误:Unit network.service failed to load。 不用service network restart 用service network-manager restart重启,不会报错。如果没有用,只…...
![](https://img-blog.csdnimg.cn/c9aef002490e432d8b01f1493cd40a93.png)
厦门网站建设咨询/内容营销策略有哪些
文章目录1 Git Dos窗口中操作1.1 首先在码云上新建一个项目,如下图所示1.2 在本地新建或选择一个文件夹1.3 进入新建或选择的文件夹,鼠标右键选择git bash here,弹出dos窗口1.4 在弹出dos窗口登录仓库地址1.5 继续在窗口输入 git init1.6 继续…...
学做网站用什么服务器/温州seo团队
1.下载链接Navicat for mysql客户端链接: https://pan.baidu.com/s/1dGbzgbR 密码: i43g2.安装mysql和NavicatNavicat for mysql,下载下来的本身就是个app,不用再次安装,直接拖拽到应用程序即可安装mysql,按照安装步骤安装即可,安装时会出现如下弹框,一定要记住,5.7之后的版本默…...
![](/images/no-images.jpg)
手机门户网站源码/湖南网站建设推荐
NSDate:是OC中处理日期时间的一个类,可以用来表示时间 获取当前的时间 NSDate *d [NSDate date]; 创建日期时间对象 NSLog输出是当前时间 格林时间 格式化显示时间 NSDate *d1 [NSDate date];NSLog("%", d1);// 格式化日期,时间/…...
![](https://img-blog.csdnimg.cn/e79f1bcc2dfd466d9b5e236e77f1c550.png#pic_center)
wordpress系统介绍/深圳知名网络优化公司
在当今竞争激烈的市场环境下,企业想要获得更多的市场份额,拓展更多的客户,必须要进行拓客工作。而在拓客过程中,采集工具是必不可少的工具之一。采集工具可以帮助企业快速获取目标客户的信息,并进行有效的沟通和跟进&a…...
![](https://img-blog.csdnimg.cn/7093c81301b04ef5a1fb0ff0b9fccb7e.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA6JyX54mbSw==,size_20,color_FFFFFF,t_70,g_se,x_16)
网站如何备案 流程/手机app免费制作平台
两种方式 方式一:前端处理 用escape()处理可能含有特殊字符的参数 方式二:后端处理 用 HtmlUtils.htmlUnescape() 处理可能含有特殊字符的参数 需引入依赖: <dependency><groupId>org.springframework</groupId><…...