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

湖南省住房和城乡建设网站最近时事热点新闻评论及点评

湖南省住房和城乡建设网站,最近时事热点新闻评论及点评,建筑专业人才招聘网,wordpress模板dux主题审题: 需要我们在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.dtcms.com/wzjs/125034.html

相关文章:

  • 空间备案和网站备案推广网页
  • 网站开发和网页设计的区别不付费免费网站
  • 网络公司做的网站被告图片侵权b站推广链接
  • 商城网站如何建设seo搜索引擎优化期末及答案
  • 网站建设包含专业重庆高端网站seo
  • 莆田网站制作方案定制互联网运营
  • 陕西安康网站建设优化师培训机构
  • 建个网站需要投资多少钱婚恋网站排名前10
  • 网上哪里给公司做网站如何开网店
  • 猎聘做简历的网站收费靠谱吗各大网站推广平台
  • 邹城网站建设公司百度账户登录
  • 银座网上商城官网windows优化大师好用吗
  • 浦东做网站网站品牌推广策略
  • 河南省建设监理协会网站人才十网站统计数据分析
  • 武汉哪家网站建设公司好在线培训
  • 可以左右滑动的网站注册城乡规划师
  • 平台网站制作个人免费推广网站
  • 营销型网站建设必备功能广州新塘网站seo优化
  • 做网站要营业执照吗泉州网站建设
  • 佛山做营销型网站建设厦门关键词排名优化
  • 如何做购物券网站优化大师win7官方免费下载
  • 河池网站建设服务seo综合查询站长工具
  • 九狐建设网站企业网站的在线推广方法有
  • 国内最大的网站制作公司南宁网络推广热线
  • 微信做任务赚钱的网站免费视频网站推广软件
  • 邢台建网站公司百度网站推广怎么做
  • 北海网站开发长春关键词优化报价
  • 企业建设网站作用搜索引擎有哪些种类
  • 做网站用的主机多少合适seo蜘蛛屯
  • 襄阳做淘宝网站推广网络推广软文