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

山东德州网站建设哪家最专业如何在各大网站发布信息

山东德州网站建设哪家最专业,如何在各大网站发布信息,国内优秀的网站设计,适合设计师看的设计网站可以用哈希表解决,先遍历选取每一个元素num作为起始值,然后判断num1是否也在数组中,如果在就序列长度1,但是用哈希表这么做实际上时间复杂度为o(n^2),为了降低到n,每一个元素只能访问…

 可以用哈希表解决,先遍历选取每一个元素num作为起始值,然后判断num+1是否也在数组中,如果在就序列长度+1,但是用哈希表这么做实际上时间复杂度为o(n^2),为了降低到n,每一个元素只能访问一次,那么也就是如果num做为起始值,那么他的前驱num-1是不能在数组中的,这样就可以避免重复访问

class Solution {
public:int longestConsecutive(vector<int>& nums) {unordered_set<int> numSet;for(const int& num:nums)numSet.insert(num);int result=0;for(const int& num:nums){if(numSet.find(num-1)!=numSet.end())continue;else{int len=1;int currentNum=num;while(numSet.find(currentNum+1)!=numSet.end()){len++;currentNum++;}result=max(result,len);}}return result;}
};

然而虽然代码和官方差不多还是有用例超时,对于如下这种有m个0的如果作为起始值,后续还有1,2,3,4让其进入内层循环的,时间复杂度为o(mn),为了避免这种情况还得对0去重

 

class Solution {
public:int longestConsecutive(vector<int>& nums) {unordered_set<int> numSet;for(const int& num:nums)numSet.insert(num);int result=0;unordered_set<int> remDup;for(const int& num:nums){if(numSet.find(num-1)!=numSet.end()||remDup.find(num)!=remDup.end())continue;else{remDup.insert(num);int len=1;int currentNum=num;while(numSet.find(currentNum+1)!=numSet.end()){len++;currentNum++;}result=max(result,len);}}return result;}
};

 

 

http://www.dtcms.com/wzjs/214930.html

相关文章:

  • 重庆建设网站建站网络营销和网上销售的区别
  • 网站首页优化公司关键词优化公司哪家推广
  • 做耳鼻喉医院网站多少钱淘宝交易指数换算工具
  • 做网站靠什么盈利第三方网络营销平台有哪些
  • 莱州网站建设多少钱免费网络推广方式
  • 自动化科技产品网站建设广州引流推广公司
  • webp 做网站沈阳seo搜索引擎
  • 北京百度seo排名沈阳seo按天计费
  • 做网站的贴吧百度指数的需求指数
  • 做h5页面的网站有哪些发稿
  • 在网站怎么做代销大连头条热点新闻
  • 高速建设材料在哪个网站购买不用流量的地图导航软件
  • 商品展示软件seo软文推广
  • 佛山专业做网站公司有哪些最近三天的新闻大事国内
  • 深圳做响应式网站百度问一问官网
  • 分站城市网站如何做seo百度关键词优化和百度推广
  • 做网站上时需要3d预览功能我也要投放广告
  • 网站建设成本西安关键词网站排名
  • 合肥建设厅网站短链接购买
  • 南京网站南京网站设计制作公司杭州关键词排名提升
  • 网站开发摊销免费b2b推广网站
  • 重庆企业网站推广方法平台怎么推广技巧
  • 眉县住房和建设委员会网站爱站网关键词查询网站的工具
  • win7在局域网做网站南宁seo服务公司
  • 济南微信网站建设百度上怎么做推广
  • wordpress怎么做下载文件湖南长沙seo
  • 采购网1688如何优化企业网站
  • 2017年网站外链怎么做深圳seo专家
  • 做网站浏览器必须用xp系统吗发布广告的平台免费
  • 免费网站建设市场百度大全下载