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

徐州微网站开发公司链接生成器

徐州微网站开发公司,链接生成器,行业门户网站系统,网站设计书籍题目要求时间复杂度为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/360649.html

相关文章:

  • 营销广告策划方案西安百度关键词优化排名
  • 广州网站建站公司网站制作费用一览表
  • 网上有做任务赚钱的网站有哪些天津百度seo
  • 怎样做企业网站宣传知识营销成功案例介绍
  • 重庆网站建设重庆网站制作直通车推广技巧
  • 福州网站建设服务商怎样做市场营销策划
  • 创客贴网站做海报技能游戏广告联盟平台
  • 网站备案用的幕布可以淘宝做吗营销软件站
  • 鄱阳电商网站建设网站推广策划书范文
  • 知名网站制作公司青岛分公司河南seo关键词排名优化
  • 天津网站建设揭秘学电脑培训班多少一个月
  • 长丰网站建设河南纯手工seo
  • 购物类型网站建设网站建设与网页设计制作
  • 百度提交入口网址截图苏州网站关键字优化
  • 网站如何制作浙江东莞网站seo推广
  • 杭州网站建设q479185700惠百度怎么发布广告
  • 产品网站别人是如何做优化的seo技巧
  • 上海工程建设招投标网站关键词排名 收录 查询
  • asp个人网站怎么建设图片优化网站
  • 互联网建站安顺seo
  • 垂直门户网站建设培训课程表
  • 外汇网站怎么做优化信阳网站seo
  • 如何架设内部网站百度ocpc如何优化
  • 网站制作公司网站建设百度公司在哪里
  • 土木工程毕业论文代做网站无锡网站seo顾问
  • 网站开发合同模板免费seo点击排名源码
  • 专做国际时事评论网站线上培训机构有哪些
  • 做网站去除视频广告好消息疫情要结束了
  • 网站上职业学校排名 该怎么做搜索引擎优化特点
  • 企业网站包含的要素免费发布信息的平台有哪些