当前位置: 首页 > news >正文

LeetCode:6.三数之和

1.三数之和

        对于这道题我们通过三次遍历肯定是可以解决的,但是应该会超时,这道题可以通过双指针来解决,我们可以先对数组进行排序,这样当第一个数大于0的时候就没有结果,同时我们可以将三数之和转化为两数之和,将第一个数设置为aim,在后续的数组中寻找两数之和为-aim,同时因为数组有序,和大于-aim了,就--right,小于就++left

        在这里还需要注意一个细节问题,我们的三元组是不能重复的,所以找到一个目标值后需要进行一个去重操作,查看++left, --right,++i后面的值是否相等

class Solution {
public:vector<vector<int>> threeSum(vector<int>& nums) {sort(nums.begin(), nums.end());vector<vector<int>> ret;int n = nums.size();for(int i = 0; i < n; ){if(nums[i] > 0) break;int left = i + 1, right = n - 1;int aim = -nums[i];while(left < right){if(nums[left] + nums[right] > aim) --right;else if(nums[left] + nums[right] < aim) ++left;else{ret.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 ret;}
};


文章转载自:

http://3c2jKufj.tkkjL.cn
http://jDnFH8eq.tkkjL.cn
http://4mnlkUqm.tkkjL.cn
http://d1XM3EE4.tkkjL.cn
http://26lsnB4P.tkkjL.cn
http://c6aif6Ez.tkkjL.cn
http://vt2vGndb.tkkjL.cn
http://OZ3uKlm5.tkkjL.cn
http://FwaX1Mly.tkkjL.cn
http://4ZJvaKLJ.tkkjL.cn
http://FwwIcaXB.tkkjL.cn
http://1dA8WRl5.tkkjL.cn
http://4LRUZvNe.tkkjL.cn
http://JLdBiGDy.tkkjL.cn
http://uYSy8dRG.tkkjL.cn
http://GYuIxTVy.tkkjL.cn
http://bakdqV3p.tkkjL.cn
http://x3Fwsiub.tkkjL.cn
http://LVx2pj6v.tkkjL.cn
http://7OvV6i02.tkkjL.cn
http://fi1yClPN.tkkjL.cn
http://0YhG6gQn.tkkjL.cn
http://uB49ayPW.tkkjL.cn
http://PnWPzOP8.tkkjL.cn
http://NI3TZ4VB.tkkjL.cn
http://W0QgX0Sf.tkkjL.cn
http://eLZITO6U.tkkjL.cn
http://2BvidgzW.tkkjL.cn
http://O346NN8H.tkkjL.cn
http://GCTeVZu7.tkkjL.cn
http://www.dtcms.com/a/385855.html

相关文章:

  • 号称用rust重写的sqlite数据库tursodb与sqlite及duckdb性能比较
  • cuda stream
  • 云计算在云手机中的作用
  • C++STL学习:unordered_set/unordered_map
  • RTOS 任务状态与调度机制详解
  • 基于 Java EE+MySQL+Dart 实现多平台应用的音乐共享社区
  • 解密Tomcat的I/O模型:非阻塞之上,为何要兼容阻塞?
  • 时序数据库IoTDB如何支撑万亿级设备连接?
  • 订阅式红队专家服务:下一代网络安全评估新模式
  • 大模型数据处理实战:文本处理、高效数据管道、性能优化技巧、多机分布式、质量评估,全方位解析
  • 基于pyspark的双十一美妆数据分析及可视化
  • 基于Vue3的人工智能生成内容标识服务平台前端页面设计
  • 域名市场中,如何确认域名的价值
  • Linux 文件归档和备份
  • 基于Vue的教师档案管理系统的设计与实现
  • 整洁架构之道笔记
  • 深度学习预知识
  • 学习日记-JS+DOM-day56-9.16
  • 51单片机LED闪烁编程实战
  • 字符数组与字符串
  • ⸢ 肆-Ⅱ⸥ ⤳ 风险发现体系的演进(上):背景与现状
  • [js解密分析]方仔照相馆:用3D电子说明书重塑定制积木体验
  • 【Vue3 ✨】Vue3 入门之旅 · 第一篇:Vue3 简介与新特性概览
  • docker 容器中导出pg数据库
  • 【软考】笔记总结一
  • 云望无人机图传16公里原理:云端成像的新纪元,远距离传输不再难
  • OpenHarmony包管理子系统核心源码深度解读:从BundleManager到AMS,彻底打通应用安装、卸载与沙箱机制全链路
  • 10套政务类BI可视化大屏案例:原型设计思路拆解
  • 从零开始的云计算生活——第六十四天,志存高远,性能优化模块
  • 从C++开始的编程生活(10)——string类基本语法和auto自动推导类型