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

网站ipc备案酷虎云建站工具

网站ipc备案,酷虎云建站工具,企业门户网站的建设方法,摄影欣赏网站哪个最好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 != k 且 j != 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 。

提示:

  • 3 <= nums.length <= 3000
  • -105 <= nums[i] <= 105

整体思路:

        本题最重要的就是避免超时也就是去重,疯狂去重!!

        题干表明顺序并不重要那我们只要找到和为0的三个数就行,对数组元素排序,排好序对于找符合题干的元素就很容易了,就面对了第二大问题:去重

        比如第一个例子排好序为-4,-1,-1,0,1,2

        当我们遍历这个数组的时候-1和-1是相同的也就是对应的答案是相同的那么只考虑一个就可以

        找符合相加=0利用双指针遍历,指针1在当前i的下一个,指针2在最后一个元素

        如果找到了相加等于0输出这组元素并且去重!!之后再让两个指针同时向中间移动再看有没有符合条件的直到1、2指针重合证明全遍历完了结束当前i,到下一个i+1

        如果没找到相加等于0的和0对比,大于0的证明数太大,2指针向左移动(排序后左小右大)

                                                              小于0的证明数太小,1指针向右移动

代码:

class Solution {
public:vector<vector<int>> threeSum(vector<int>& nums) {vector<vector<int>> ans;sort(nums.begin(), nums.end());  // 先对数组进行排序for (int i = 0; i < nums.size() - 2; i++) {if (i > 0 && nums[i] == nums[i - 1]) continue;  // 跳过重复的元素int left = i + 1, right = nums.size() - 1;//双指针:一个在while (left < right) {int sum = nums[i] + nums[left] + nums[right];                if (sum == 0) {ans.push_back({nums[i], nums[left], nums[right]});// 跳过重复的元素while (left < right && nums[left] == nums[left + 1]) left++;//当前元素和下一个元素相同直接考虑下一个元素,因为俩数相同结果不变while (left < right && nums[right] == nums[right - 1]) right--;left++;right--;} else if (sum < 0) {left++;} else {right--;}}}return ans;}
};

http://www.yayakq.cn/news/261644/

相关文章:

  • 国内最炫酷的网站ai免费模板网站
  • 做自己的网站要多少钱哈尔滨建设部网站
  • 网站备案时间太长网站推广策划公司
  • 兰州建网站的网页素材下载
  • 部门网站的开发 意义湖南涟钢建设有限公司网站
  • wordpress仿站插件茄子河区网站建设自查报告
  • 设计商业网站应该做到什么软件开发专业技能
  • 内蒙古手机网站制作青岛房地产团购网站建设
  • 微信小程序开发网站互助盘网站开发
  • 上海网站 备案江宁招网站建设58
  • 注册了网站怎么建设做杂志一般在哪个网站找感觉
  • 做兼职一般去哪个网站资讯wordpress主题
  • 海珠网站建设报价浙江企业seo推广
  • 网页设计与网站建设教学视频网站的优化方法有哪些内容
  • 韶关网站建设墨子可以做推广东西的网站
  • 模板网站缺点乐清网约车事件
  • 贵州省城乡建设部网站首页自建网站的优缺点
  • 商城网站建设需要注意什么无锡2019网站建设报价清单
  • 精品设计网站贴吧推广400一个月
  • 做外贸需要哪些网站建设留学网站
  • 免费 开源 企业网站万网域名管理平台登录
  • 医院网站开发百度文库网站风格设定
  • 网站备案都需要什么wordpress 商务
  • 泉州做 php 网站备案网站建设方案
  • 广州网站建设+致茂厦门网站建设费用
  • 经济网站建设网站平台专业开发制作app
  • 黄石做网站联系河南建设工程信息网招标公告
  • 网站开发创业计划书财务分析wordpress 文章详情页
  • 海南省网站做网站编写
  • 建立公司网站流程计算机网络培训速成班