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

阿里 网站备案核验单免费推广网站大全集合

阿里 网站备案核验单,免费推广网站大全集合,有一个网站专门做促销小游戏,网站开发官网审题: 需要我们在O(n)的时间复杂度下找到最长的连续序列长度 思路: 我们可以用两层for循环: 第一层是依次对每个数据遍历,让他们当序列的首元素。 第二层是访问除了该元素的其他元素 但是此时时间复杂度来到…

审题:

需要我们在O(n)的时间复杂度下找到最长的连续序列长度

思路:
我们可以用两层for循环:

第一层是依次对每个数据遍历,让他们当序列的首元素。

第二层是访问除了该元素的其他元素

但是此时时间复杂度来到了n^2,不满足我们的需求

实际上我们的这个思路存在很多多余的枚举:

eg:5 4 3 2 1

如果我们按照前面的方法枚举,有:

1.5为首元素,size为1

2.4为首元素,size为2

3.3为首元素,size为3

4.2为首元素,size为4

5.1为首元素,size为5

而实际上有效的只有第五次枚举,因为我们是用了整个连续序列(12345)的首元素1.其他的size都是一定小于以真正首元素为头的size的

所以,我们利用哈希表辅助实现减少枚举次数的目的

方法一:哈希表

找到连续序列的首元素的方法:利用哈希表快速查找是否存在当前值-1的元素,若有则说明不是首元素,否则则是

解题:

第一步:利用unordered_set记录去除了重复数据的nums数组

在讲解去重的原理前,我们先了解一下unordered_set:

unordered_set:无序的记录带有唯一性数据的容器,且可以根据他们的值在O(1)的时间复杂度内找到他们

数据具有唯一性的原因:与unordered_map不同的是,unordered_set的值同时也是键,而由于键具有不可修改和唯一的特性,数据既不能修改也是唯一的(但是允许插入删除)

于是去重的原理就是unordered_set的数据具有唯一性

第二步:核心代码

遍历nums数组的每个元素,若发现该数据不是连续序列的首元素(因为用了unordered_set才能在O(1)时间复杂度下找到),则不进行任何操作直接跳过。

若是连续序列的首元素,则在哈希表中存储的数据中去寻找属于他的序列的元素,并存储为cursize,最后与maxszie进行比较,将较大的给到maxsize

128. 最长连续序列 - 力扣(LeetCode)

http://www.tj-hxxt.cn/news/61077.html

相关文章:

  • wordpress 自适应 cssseo的中文名是什么
  • 免费做网站公司郑州seo哪家专业
  • 做网站建设哪家公司靠谱比较好的免费网站
  • 创建虚拟网站做点击seo排名优化课程
  • 做网站日入100网站搜索排名靠前
  • 网站建设图片教程seo推广技术培训
  • 手机app软件开发流程搜索seo优化托管
  • 国家市场监督管理总局网站爱战网关键词挖掘查询工具
  • 网页制作第一步如何做网站搜索引擎优化
  • 做网站笔记本搜索引擎优化简称
  • 沈阳招标中心招标公告谷歌seo建站
  • 大网站用wordpress吗网站排行榜前十名
  • 李沧做网站公司seo快速排名优化
  • 5个在线设计网站网络营销的类型
  • 自己做网站推广怎么营销自己的产品
  • 介绍自己做的电影网站百度app官方下载
  • 建设一个电子文学网站资金多少互联网营销师培训机构哪家好
  • 海宁网站开发上海百度公司地址在哪里
  • 禹城有做网站快速排名教程
  • 优质做网站哪家好郑州学校网站建设
  • 找不到自己做的dw网站网站推广的作用在哪里
  • 做物流网站的图片素材百度游戏风云榜
  • 企业如何打造品牌优化软件有哪些
  • 福州建设工程质量监督网站seo 360
  • 北京网站建设哪家靠谱b2b免费发布信息平台
  • html5 网站建设新闻发布平台
  • 免费云电脑主机榜单优化
  • 龙岩长汀疫情最新消息今天天津网站优化软件
  • 福田网站(建设深圳信科)网站建设平台软件
  • 如何创建博客网站沈阳关键词seo