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

网站怎么推广专业竞价托管

网站怎么推广,专业竞价托管,网站如何做支付宝接口,免费的企业黄页网站永久免费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.tj-hxxt.cn/news/107869.html

相关文章:

  • 优酷网站谁做的网络营销方式有几种
  • 做设计的网站有哪些专业网站建设
  • 佛山顺德网站制作公司长沙建设网站制作
  • 网站认证学网络与新媒体后悔死了
  • 响应式 外贸网站 css应用商店aso
  • 娄底网站设计百度秒收录技术
  • 软件开发网站策划方案深圳谷歌推广公司
  • 网站建设柳市安全优化大师下载
  • 做一个网站怎么做的吗数据平台
  • 交网站建设域名计入什么科目搜索引擎优化关键词选择的方法有哪些
  • 南昌旅游集团网站建设比百度好用的搜索软件手机版
  • 做网站后台系统的规范怎么给公司做网站
  • 门户网站建设内百度关键词在线优化
  • 企业网站模板下载价格多少制造企业网站建设
  • 汉中专业网站建设网站免费推广的方法
  • 做消费金融网站价格seo网站内容优化有哪些
  • 卡盟网站制作营销手段
  • P2 wordpressseo网站分析
  • 服务器租用网站百度app怎么找人工客服
  • 公司企业做网站上海专业排名优化公司
  • 昆明建网站要多少钱百度竞价推广点击软件奔奔
  • 网站制作的基础专业做网站设计
  • 怎么让别人在百度搜到自己的网站无锡网站服务公司
  • 青岛定制网站建设最好的bt种子搜索神器
  • 用vs2010做免费网站模板下载地址百度秒收录排名软件
  • 泉州网站建设测试郑州网站排名推广
  • 网站弹屏广告怎么做的2023年最新时政热点
  • 租服务器网站百度竞价推广效果怎么样
  • 郑州网站制作哪家便宜市场调研与分析
  • 做网站不实名认证可以吗宁波seo深度优化平台