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

烟台商机互联做网站吗必应收录提交入口

烟台商机互联做网站吗,必应收录提交入口,苏州 网站建设 app,视频网站 界面设计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://www.dtcms.com/wzjs/287925.html

相关文章:

  • 靠谱个性化网站开发百度优化推广
  • 免费做章子的网站seo搜索引擎优化推广专员
  • 在线定制手机壳福建seo关键词优化外包
  • 湛江网站seoseo网站推广报价
  • 艺术网站定制重庆seo排名技术
  • 深圳网站建设方维游戏推广
  • 深圳市网站建设公司天津最新消息今天
  • 长沙岳麓区网站开发商城推广软文范文
  • wordpress子站共享用户名独立站seo外链平台
  • 松原手机网站开发培训机构是干什么的
  • 自己的网站统计输入词企业培训课程名称大全
  • 南京鼓楼做网站公司广州白云区疫情实时动态
  • 湖北省工程建设协会网站百度指数的搜索指数
  • 新闻录入网站模板网络推广宣传
  • 免费网站建设塔山双喜天津seo实战培训
  • 做模板网站的公司博客网站登录
  • 做网站建设一年能赚多少钱百度关键词优化排名技巧
  • 手机网站 焦点图微商怎么找客源人脉
  • 做网页专题 应该关注哪些网站网络营销怎么做推广
  • 零食天堂 专做零食推荐的网站短期培训学什么好
  • 训做网站的心得体会范文免费网站推广方式
  • 即时设计生成网页武汉seo创造者
  • mvc5 网站开发之美网站建设教程
  • 南昌网站建设索q.479185700宁波网站建设公司哪家好
  • 如何新建网站dw深圳网络推广收费标准
  • 广州市外贸网站建设b站推广入口2022
  • 网站续费合同高质量网站外链平台
  • 公司网站建设案例最新热搜新闻事件
  • 网站登录不上怎么回事营销案例
  • wordpress内核人员优化方案