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

沈阳图书设计公司seo千享科技

沈阳图书设计公司,seo千享科技,wordpress首页描述代码,深圳网站建设哪家公司好题目要求时间复杂度为O(n),因此不能使用两次循环匹配。 首先使用 HashSet 去重,并且 HashSet 查找一个数的复杂度为O(1)外循环还是遍历set集合,里面一重循环需要添加判断,这样才不会达到O( n 2 n^2 n2)判断是否进入最长序列查找循…

在这里插入图片描述
题目要求时间复杂度为O(n),因此不能使用两次循环匹配。

  • 首先使用 HashSet 去重,并且 HashSet 查找一个数的复杂度为O(1)
  • 外循环还是遍历set集合,里面一重循环需要添加判断,这样才不会达到O( n 2 n^2 n2)
  • 判断是否进入最长序列查找循环才是最关键的。对于 num,如果 num 是最长序列的开始数字,那么 set 集合中一定不存在 num - 1,否则num 就不会是最长序列的开始数字。凭借此逻辑设置 if 条件是关键。
  • 如果 set 集合中不存在 num - 1,那么就以 num 为开始数字找最最长序列
class Solution {public int longestConsecutive(int[] nums) {Set<Integer> s =  new HashSet<Integer>();for(int num : nums){s.add(num);}int MaxCount = 0;for(int num : s){// 如果set表中存在比当前数小 1 的数,那么当前数一定不是最长序列的开始数字if(!s.contains(num - 1)){// 不存在num - 1,将 num 作为开始数字int currentNum = num;int currentCnt = 1;//循环找以 num 开头的整数序列while(s.contains(currentNum + 1)){currentNum += 1;currentCnt += 1;}MaxCount = Math.max(MaxCount, currentCnt);}}return MaxCount;}
}
http://www.dtcms.com/wzjs/5613.html

相关文章:

  • 找人做网站产生纠纷算诈骗吗qq营销推广方法和手段
  • 武汉网站的优化关键词排名优化易下拉排名
  • 如何制作局域网站品牌运营推广方案
  • 北京专业网站制作大概费用网络营销案例分享
  • 个人网站建设与维护网页自助建站
  • 旅游网站建设论文网站建设公司大全
  • 软件系统商城定制开发百度seo找哪里
  • 使用session和cookie实现网站自动登录 .netseo排名策略
  • 宁波网站制作企业seo技术是什么意思
  • 从事软件开发合肥seo按天收费
  • linux做网站方便吗软文广告100字
  • 温州手机网站建设wmwl郑州高端网站制作
  • 怎样评价一个网站做的好与不好培训机构加盟店排行榜
  • 建筑工程公司注册条件优化网站排名需要多少钱
  • 做一家新闻媒体网站多少钱做销售记住这十句口诀
  • 做借贷网站平台网页制作代码模板
  • 太原网站开发团队seo搜索排名优化
  • 转做批发鞋子的网站百度在线翻译
  • 企业数据查询网站百度搜索一下百度
  • 最便宜做个网站多少钱网站在线生成app
  • 上传自己做的网站淘宝店铺转让价格表
  • 网站开发百灵鸟深圳产品网络推广
  • 文教设施网站制作方案百度推广方案
  • wordpress versionseo搜索引擎优化怎么做
  • 我想采集散文 做网站seo技术分享免费咨询
  • 大连微信网站制作域名注册购买
  • 网站做直播需要办理什么证泰安百度推广公司
  • 建设网站需要体现的流程有哪些数据分析培训机构哪家好
  • 如何做家居网站百度竞价代运营托管
  • 一般做网站需要什么框架郑州做网站推广哪家好