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

网站的必要性山东关键词快速排名

网站的必要性,山东关键词快速排名,独立站系统,专业企业网站建设链接 一般这种三数之和,四数之和都使用双指针,复杂度最优,次一级可使用哈希表。前者要求有序,后者空间上有花费。 题目: 题目要求答案中不能出现重复vector,比如{-1 1 0}和{-1 0 1}; 这两个…

链接

一般这种三数之和,四数之和都使用双指针,复杂度最优,次一级可使用哈希表。前者要求有序,后者空间上有花费。

题目:

题目要求答案中不能出现重复vector,比如{-1 1 0}和{-1 0 1};

这两个在固定住i 指向0位置,然后在后续子数组中查找合适的j 和k 时,会出现重复,所以我们对数组排序,通过if语句解决重复问题。

我们要找nums[i]+num[j]+nums[k]==0,乍一看,需要三个指针,三种循环来判断,但这显然是不合适的,于是我们固定住i(也就是让i从开头遍历到结尾即可),然后让j 从i 后面开始,k从最后一个元素开始往中间遍历。

如果刚开始(也就是图中这个位置),三个相加都小于0,那么就不存在答案,因为我们的数组是有序的,k越往做,越小了。

所以,我们只需要找三个相加大于等于0的,这样越往前越有可能找到==0的情况。

为什么要一直往前呢?万一出现下图这样,k指向的值刚好就可以和nums[i] nums[j]相加为0,为何还要往前?

因为我们怕重复,{-2 0 2},{-2 0 2},{-2 0 2},{-2 0 2}...........这不符合题目要求,所以我们尽量往左走,只留一个就行了。

另外,代码中其实还有可以优化的地方:

也就是这两点,因为排序后,并不能去重,所以会出现:

i指向这两个位置,找到的答案还是会重复,所以我们在i 至少找过一次(也就是i!=0即 i)时,且nums[i]==nums[i-1]时,continue住,不要往下循环了,别找了,答案如果有都是一样的,没必要循环了。

还有j 的情况也是如此:j>i+1也就是j 在当前i 这个位置至少已经找过一次了,如果j 往后挪了还是相等,那也不用找了。

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

http://www.fp688.cn/news/157368.html

相关文章:

  • wordpress 文件加载顺序seo知识培训
  • 能打开任何网站的浏览器百度seo代理
  • 网站 建设需求佛山网站建设制作公司
  • 百度景安空间网站百度信息流代理
  • 企业公司怎么注册郑州seo建站
  • sentos上部署.net网站信息流广告公司一级代理
  • 冠县做网站哪里好厦门seo排名公司
  • 国外做耳机贸易的平台网站市场seo是什么意思
  • 网站域名怎么修改吗百度手机下载安装
  • 企业宣传网站怎么做百度网页电脑版入口
  • 百度网站的优化方案seo网站营销推广公司
  • 莱芜翰林名苑莱芜论坛seo网站推广助理招聘
  • 功能性质网站有哪些网站搜索引擎排名规则
  • 杭州做网站 做小程序google搜索优化
  • 真么做网站百度软件安装
  • 济南做网站找哪家好深圳谷歌seo推广
  • wordpress 视频站模板企业网站排名优化价格
  • 美工免费素材网站杭州关键词优化服务
  • 58同城推广能免费做网站吗竞价托管是啥意思
  • 装修设计网站哪个好用关键词怎么找出来
  • 地方行业网站2022年明星百度指数排行
  • 公司做网站开发流程百度手机端排名
  • 国外网站做淘宝客广告主广告商对接平台
  • 网站开发定制推广杭州网络营销网
  • 网站开发需有没有著作权找关键词的三种方法
  • 哪个网站跨境电商做的最好东莞网络优化哪家公司好
  • 抚顺市营商环境建设局网站友情链接交易平台源码
  • 高端网站建设页面一键制作免费网站的app
  • 防盗网站人做清洁百度竞价排名的利与弊
  • 网站联系我们怎么做抖音seo推荐算法