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

leetcode 15. 三数之和

题目描述

代码:

class Solution {
public:vector<vector<int>> threeSum(vector<int>& nums) {sort(nums.begin(),nums.end());int len = nums.size();int left = 0;int right = 0;vector<vector<int>> res;for(int i = 0;i <len;i++){if(nums[i]>0)break;if(i>0 && nums[i-1] == nums[i])continue;left = i+1;right = len-1;while(left <right){if(nums[i]+nums[left]+nums[right] == 0){while(nums[left] == nums[left+1]&&left+1<right)left++;while(nums[right] == nums[right-1]&&left<right-1)right--;res.push_back({nums[i],nums[left],nums[right]});left++;right--;}else if(nums[i]+nums[left]+nums[right] > 0)right--;elseleft++;}}return res;}
};

相关文章:

  • 【25软考网工】第六章(3)数字签名和数字证书
  • 在C++中,符号位是否参与位运算
  • 使用vue3-seamless-scroll实现列表自动滚动播放
  • 【通讯录教程】如何将号码快速导入手机通讯录,支持苹果和安卓手机,一次性导入大量号码进入手机通讯录,基于WPF的解决方案
  • 实战项目5(08)
  • 1688 API 自动化采集实践:商品详情实时数据接口开发与优化
  • 每日c/c++题 备战蓝桥杯(洛谷P1115 最大子段和)
  • 滑动窗口——将x减到0的最小操作数
  • 自然语言处理NLP中的连续词袋(Continuous bag of words,CBOW)方法、优势、作用和程序举例
  • 嵌入式硬件篇---IIC
  • Linux:43线程封装与互斥lesson31
  • upload-labs靶场通关详解:第五关
  • RAII是什么?
  • 9.1.领域驱动设计
  • Spring Boot项目(Vue3+ElementPlus+Axios+MyBatisPlus+Spring Boot前后端分离)
  • 《操作系统真象还原》第十四章(1)——文件系统概念、创建文件系统
  • 如何租用服务器并通过ssh连接远程服务器终端
  • AugmentCode 非常昂贵的新定价
  • stm32测频率占空比最好的方案
  • python 写一个工作 简单 番茄钟
  • 上海北外滩,未来五年将如何“长个子”“壮筋骨”?
  • 缺字危机:一本书背后有多少“不存在”的汉字?
  • 通辽警方侦破一起积压21年的命案:嫌疑人企图强奸遭反抗后杀人
  • 做街坊们的“健康管家”,她把专科护理服务送上门
  • 富家罹盗与财富迷思:《西游记》与《蜃楼志》中的强盗案
  • 普京提议于15日在土耳其恢复俄乌直接谈判