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

网站怎么推广成都高薪seo

网站怎么推广,成都高薪seo,怎样在网站做友情链接,tinypng图片压缩网站15. 三数之和 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i ! j、i ! k 且 j ! k ,同时还满足 nums[i] nums[j] nums[k] 0 。请你返回所有和为 0 且不重复的三元组。 注意:答案中不可以包含重复的三元组…

15. 三数之和

给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != ji != kj != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请你返回所有和为 0 且不重复的三元组。

注意:答案中不可以包含重复的三元组。

示例 1:

输入:nums = [-1,0,1,2,-1,-4]
输出:[[-1,-1,2],[-1,0,1]]
解释:
nums[0] + nums[1] + nums[2] = (-1) + 0 + 1 = 0 。
nums[1] + nums[2] + nums[4] = 0 + 1 + (-1) = 0 。
nums[0] + nums[3] + nums[4] = (-1) + 2 + (-1) = 0 。
不同的三元组是 [-1,0,1] 和 [-1,-1,2] 。
注意,输出的顺序和三元组的顺序并不重要。

示例 2:

输入:nums = [0,1,1]
输出:[]
解释:唯一可能的三元组和不为 0 。

示例 3:

输入:nums = [0,0,0]
输出:[[0,0,0]]
解释:唯一可能的三元组和为 0 。

首先利用双指针思想进行寻找合适的三个数,再利用set进行去重。

class Solution {
public:vector<vector<int>> threeSum(vector<int>& nums) {int n = nums.size();set<vector<int>> res;sort(nums.begin(), nums.end());for(int i = n-1; i > 1; i--){int c = nums[i];int temp = 0-c;int left = 0, right = i-1;while(left < right){if(nums[left] + nums[right] < temp)left++;else if(nums[left] + nums[right] > temp)right--;else{res.insert({nums[left], nums[right], c});left++;}}}vector<vector<int>> ret;for(auto it : res){ret.push_back(it);}return ret;}
};

离谱……………………

对于去重的方法有进一步优化

 将c从右向左固定:

class Solution {
public:vector<vector<int>> threeSum(vector<int>& nums) {int n = nums.size();vector<vector<int>> ret;sort(nums.begin(), nums.end());    1、排序for(int i = n-1; i > 1; ){int c = nums[i];int temp = 0-c;int left = 0, right = i-1;while(left < right)  2、此处使用双指针思想{if(nums[left] + nums[right] < temp)left++;else if(nums[left] + nums[right] > temp)right--;else{ret.push_back({nums[left], nums[right], c});int flag = nums[left++];while(left<right && nums[left] == flag)   left++;        3、对于去重操作的优化①flag = nums[right--];while(left<right && nums[right] == flag)right--;}}i--;                       4、去重的优化②while(i>1 && nums[i+1] == nums[i]) // 把whlie写错成if调试半天才发现i--;}return ret;}
};

将c从左向右固定

class Solution {
public:vector<vector<int>> threeSum(vector<int>& nums) {int n = nums.size();sort(nums.begin(), nums.end());    // 1、排序vector<vector<int>> ret;for(int i = 0; i < n; ){if(nums[i] > 0) break;    // 2、作一个小优化,如果左边数大于零则无法满足和为0int left = i+1, right = n-1;int target = -nums[i];while(left < right)        // 3、双指针进行寻找{int sum = nums[left] + nums[right];if(sum < target)    left++;else if(sum > target)   right--;else{ret.push_back({nums[i], nums[left++], nums[right--]});while(left < right && nums[left] == nums[left-1])left++; // 当left位置重复时,left后移while(left < right && nums[right] == nums[right+1])right--; // 当right位置重复时,right左移}}i++;while(i < n && nums[i]==nums[i-1])i++;}return ret;}
};

http://www.hengruixuexiao.com/news/13498.html

相关文章:

  • 政府网站开发源码自己怎么做引流推广
  • 武汉注册公司代办机构长尾词seo排名
  • 个体户 做网站网络营销成功的原因
  • 做图有什么网站重庆网站搭建
  • 做网站赚钱多吗百度seo优化培训
  • 外贸网站都有哪些内容软件推广平台
  • 成华区微信网站建设无线新闻台直播app下载
  • 做网站造假app推广在哪里可以接单
  • jsp做网站毕业设计大片ppt免费下载安装
  • 高端网站哪个比较好百度搜索竞价排名
  • 怎么开一家网站开发公司历史权重查询
  • ASP JSP动态网站开发企业seo排名外包
  • 企业品牌文化建设学习网站免费的个人网站怎么做
  • 软件开发公司网站模板网络营销外包网络推广
  • 微站平台seo课程培训学校
  • 郑州五合一网站建设如何设计与制作网页
  • 帮客户做网站内容百度资源搜索平台官网
  • 日本做a图片视频在线观看网站seo关键词布局技巧
  • 晋中网站建设百度营业执照怎么办理
  • 东莞专业做网站建设服务深圳网络营销推广外包
  • dw做网站怎么让文字移动如何做一个自己的网站呢
  • 微站网建站系统网站建设加推广优化
  • 佛山网站建设运营网站优化招聘
  • 在线做海报网站网站优化排名技巧
  • 深圳 建设银行国际互联网站四年级摘抄一小段新闻
  • 有什么网站图片可以做图片合成站长之家素材网站
  • 建设人才证书查询网站百度文库登录入口
  • 莆田网站建设解决方案新闻网最新消息
  • 学的建筑专业后悔一辈子中国seo网站
  • 云服务器建站职业培训网