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

网站建设工作年报百度移动端排名

网站建设工作年报,百度移动端排名,用php做美食网站,西安做网站比较好的公司目录 题目题目要求算法解法算法一: 排序 暴力枚举 set去重 (O( n 3 n^{3} n3))算法二: 排序 双指针 代码 题目 题目链接:LeetCode-15题 给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j],…

目录

题目

题目链接:LeetCode-15题

给你一个整数数组 nums ,判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i != j、i != k 且 j != k ,同时还满足 nums[i] + nums[j] + nums[k] == 0 。请你返回所有和为 0 且不重复的三元组。
注意:答案中不可以包含重复的三元组。

题目要求

  1. 满足 i != j、i != k 且 j != k (下标不同)
  2. nums[i] + nums[j] + nums[k] == 0
  3. 不重复的三元组

算法解法

算法一: 排序 + 暴力枚举 + set去重 (O( n 3 n^{3} n3))

排序再枚举,可以将重复的三元组变成相同的三元组,再去重即可。
在这里插入图片描述

简单解法,不讲解。

算法二: 排序 + 双指针

一旦排序应该思考能否使用双指针或者二分。

  1. 排序
  2. 固定一个数a
  3. 在该数后面的区间内,利用双指针算法一直寻找两个数的和等于-a即可
  4. 双指针算法:因为排序了,所以如果两个数相加如果大于目标值,说明中间的数字已经不可能等于目标值了,只有减小最大值(right–),才有机会得到目标值。反之,如果两个数相加小于目标值,直接left++;
    在这里插入图片描述
  • 细节问题:
    • 去重
      • 因为排序,我们会获得相同的结果,所以我们固定的数字如果与前一个相同,需要跳过。(跳过重复元素)
      • 双指针算法之间,left和right指针也需要跳过重复元素,原因是因为两个数字相加已经得到了-a,那么这两个数字必须一起存在才能得到对应的-a。也就是要么重复这两个数字,要么不能得到-a。

代码

class Solution {
public:vector<vector<int>> ret;vector<vector<int>> threeSum(vector<int>& nums) {//排序sort(nums.begin(),nums.end());int n = nums.size();for(int i =0;i<n;) //固定数a{//利用双指针解决问题int left = i+1;int right = n-1;int target = -nums[i];while(left < right){int sum = nums[left] + nums[right];if(sum > target) right--;else if(sum < target) left++;else {ret.push_back({nums[i],nums[left],nums[right]});left++,right--;//去重并且防止越界while(nums[left] == nums[left-1] && left < right)left++;while(nums[right] == nums[right+1] && right > left)right--;}}//去重固定元素i++;while(i<n && nums[i] == nums[i-1]) i++;}return ret;}
};
http://www.dtcms.com/wzjs/154597.html

相关文章:

  • 招商网站的建设意义企业seo顾问服务
  • 网站开发模式有什么站长工具查询网站
  • 社交网站设计百度关键词排名怎么靠前
  • wordpress 相关产品天津优化公司
  • 网站建设有几种方案58同城黄页推广
  • 蓝奏云注册网站seo搜论坛
  • 男朋友说是做竞彩网站维护的app营销
  • 景区微网站 建设方案百度seo关键词排名查询工具
  • 北京网站建设手机app短视频营销常用平台有
  • 陕西省住房和城乡建设委员会网站推广产品怎么发朋友圈
  • wordpress怎么获取数据库名唐山seo快速排名
  • 郑州做网站建设公司官方百度app下载
  • 网站开通微信支付接口开发学市场营销后悔死了
  • 免费做那个的视频网站好产品宣传方式有哪些
  • 云南网站推广优化谷歌seo怎么做
  • 有做彩票网站平台的吗2345浏览器下载安装
  • 个人做跨境电商网站超级推荐的关键词怎么优化
  • 做的网站怎么申请软件著作权北京seo招聘信息
  • 动态网站开发平台用什么好网络营销的方式有几种
  • 如何以目录形式访问网站网站seo优化网站
  • 怎么做狼视听网站怎样做网站卖自己的产品
  • 做字画的网站在百度怎么发布作品
  • 南宁优化网站网络服务好网站制作公司
  • 旅游分销网站建设方案推广百度百科
  • 企业做网站要注意些什么网络营销专业大学排名
  • 没公司怎么做网站网站关键词seo费用
  • 网站申请界面怎么做seo推广薪资
  • 南宁在哪里可以做网站杭州seo百度关键词排名推广
  • 赣州信息港房产网英文seo
  • 如何做局域网网站建设百度seo排名查询