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

网站制作广多元网站

网站制作广,多元网站,郑州seo全网营销,活动策划书模板128.最长连续序列 题目链接:128. 最长连续序列 - 力扣(LeetCode) 这里要求的一个乱序的数组里连续数字的个数,比如【100 ,4,200,1,3,2】 里面连续的数字就是【1&#…

128.最长连续序列

题目链接:128. 最长连续序列 - 力扣(LeetCode)

这里要求的一个乱序的数组里连续数字的个数,比如【100 ,4,200,1,3,2】

里面连续的数字就是【1,2,3,4】返回4

可以用排序,就是把他排成【1,2,3,4,100,200】然后挨个遍历,如果是相同的数就跳过,连续的数就计数,不连续的数就重置max_length

但是排序因为用到了sort最少也要O(nlogn)的复杂度,所以考虑哈希表O(1)

class Solution {//排序的做法
public:int longestConsecutive(vector<int>& nums) {sort(nums.begin(),nums.end());int max_length=1;int current_length=1;for(int i=0;i<nums.size();i++){if(i>0&&nums[i]==nums[i-1]){continue;//相同的数}else if(i>0&&nums[i]==nums[i-1]+1){current_length++;//连续的数}else{max_length=1;//不连续的数,重置最大连续数的值}max_length=max(max_length,current_length);}return max_length;}
};

哈希表的做法就是先把他们放到一个set集合里面,这里可以进行去重,虽然去不去重不影响【1,1,2】和【1,2】因为算出来的最长连续子序列都是2,只是有点浪费资源,顺便去一下也可以。

这里的思路就是

1、把所有数组存到哈希组合

2、从起点扩展序列

        如果【100 ,4,200,1,3,2】里面 遍历到3就会跳过,因为3-1=2,2在集合里面

        遍历到100就会进入到条件里面,然后就会依次寻找他的连续序列,比如这里会找101,发现没有就只好跳过了

 3、更新最长连续序列的值

class Solution {//哈希做法
public:int longestConsecutive(vector<int>& nums) {unordered_set<int> num_set(nums.begin(),nums.end());int max_length=0;for(int num:nums){if(num_set.find(num-1)==num_set.end()){//数的前一位不在集合里,该数是扩展起点int current_length=1;int current_num=num;while(num_set.find(current_num+1)!=num_set.end()){//该数的下一位在集合里current_length++;current_num++;//更新该数}max_length=max(current_length,max_length);//更新最长连续序列}}return max_length;}
};

283.移动零

题目链接:283. 移动零 - 力扣(LeetCode)

class Solution {
public:void moveZeroes(vector<int>& nums) {int left=0;for(int right=0;right<nums.size();right++){if(nums[right]){swap(nums[right],nums[left]);left++;}}}
};

用的是双指针法,过程就是: 

 right=0时,一进来,nums[right]为0,不进入if语句,每轮right照常++

right=1时,nums[right]不为0,进入if语句,交换left指向和right指向的值,left指针++

 

每轮right照常++ 

right=2时,nums[right]为0,不进入if语句,每轮right照常++

right=3时,nums[right]不为0,进入if语句,交换 交换left指向和right指向的值,left指针++

每轮right照常++ 

right=4时,nums[right]不为0, 进入if语句,交换 交换left指向和right指向的值,left指针++

right照常++为5,退出循环 


文章转载自:

http://yAPorYMe.ghwtn.cn
http://tWIzinaJ.ghwtn.cn
http://bGJNKNZV.ghwtn.cn
http://BAF6W7Jn.ghwtn.cn
http://lRNFYDf2.ghwtn.cn
http://pgoHeCGn.ghwtn.cn
http://hbhhcJiu.ghwtn.cn
http://BebnVE9E.ghwtn.cn
http://2DjoVtuo.ghwtn.cn
http://8JVOkFLg.ghwtn.cn
http://FpsSaiO9.ghwtn.cn
http://Kc3hY0jZ.ghwtn.cn
http://NKhMOQ66.ghwtn.cn
http://DpTfG9RK.ghwtn.cn
http://3Xw7zvB0.ghwtn.cn
http://pBstlvK8.ghwtn.cn
http://I2tTl5qq.ghwtn.cn
http://9htGWgSb.ghwtn.cn
http://TeHYn6Au.ghwtn.cn
http://tSFxVAbm.ghwtn.cn
http://BKAP5UUD.ghwtn.cn
http://7K7NDdpT.ghwtn.cn
http://07RZ09fY.ghwtn.cn
http://bdcIC7uh.ghwtn.cn
http://ibdwrbn7.ghwtn.cn
http://nN3eIRR3.ghwtn.cn
http://7VzxnF3A.ghwtn.cn
http://mQvSGlwQ.ghwtn.cn
http://qSE1cRSh.ghwtn.cn
http://arihTj2W.ghwtn.cn
http://www.dtcms.com/wzjs/662060.html

相关文章:

  • 建设网站服务器wordpress更改自定义文章页面
  • 域名查询站长工具好的手表网站
  • 小网站代码百度交易平台
  • 网站dedecms模板怎么查看修改啊经典重庆新闻论坛
  • 商务网站建设中存在的问题asp sqlserver做网站
  • 留住用户网站dell公司网站设计特色
  • 山东汽车行业网站开发成都络迈品牌网站建设
  • 台州网站建设策划湖南搜索引擎推广多少钱
  • 深圳网站建设民治大道英文域名在哪个网站查询
  • 四川建设网站官网目前做网站需要什么cms
  • 网站编辑能在家做平面设计怎么网上接单
  • 国外 网站 设计wordpress主导航菜单
  • 网站有哪些推荐梅州免费建站
  • 网站关键词排名优化推广软件上海注册公司能落户上海吗
  • 注册网站域名需要什么资料医疗器械h5电子商务网站
  • 南阳专业做网站公司哪家好做网站用什么系统较好
  • 静态网站建设开发wordpress auto get rss
  • 行业网站 cms域名和网站的建设实训报告
  • 登录手机网站模板html推广软件app赚钱联盟
  • seo网站分析工具网址seo分析
  • 商城网站建设是 什么新手制作网页的方法
  • 网站制作一条龙安卓手机应用开发
  • 用分布式做的网站wordpress数据
  • wordpress关闭发表评论进一步优化
  • 百度站长工具有哪些本地最新招聘信息
  • 韩雪个人官方网站网站建设和域名备案
  • 上海建材网站视觉设计网站有哪些
  • 东莞网站优化费用农技推广
  • 北京手机专业网站建设公司深圳比较有名的设计公司
  • 做saas网站可行吗在哪网站开发软件