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

专业网站建设一条龙郑州关键词网站优化排名

专业网站建设一条龙,郑州关键词网站优化排名,wordpress设置https,郑州百姓网征婚交友给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入:nums [100,4,200,1,3,2] 输出:4 …

给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。

请你设计并实现时间复杂度为 O(n) 的算法解决此问题。

示例 1:

输入:nums = [100,4,200,1,3,2]
输出:4
解释:最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。

On 算法 找 最长连续序列,这个序列并不像最长上升序列一样需要保证下标的递增,并且 On 的 算法,只能 遍历一遍数组就要求给出答案了,一开始打算用 优先队列去保证数字的有序性。后面看到hash 也能做,这个就是真 O1了。用空间换时间是常见降低时间复杂度的手段。

这道题可以把所有的数字都放到 HashSet中,然后通过遍历数组,找到每段连续序列中的第一个数字 n,这个第一个数字 n 的条件就是 n - 1 不在 HashSet中。然后不断找后面的连续数字,直到没有位置。统计这样的所有连续序列,找出最大长度。

class Solution {public int longestConsecutive(int[] nums) {if(nums.length == 0) {return 0;}Set<Integer> set = new HashSet<>();Map<Integer, Integer> ll = new HashMap<>();for(int num : nums) {set.add(num);}int ans = 1;for(Integer num : set) {if(!set.contains(num - 1)) {int cur = num;while(set.contains(cur + 1)) {cur = cur + 1;}ans = Math.max(ans, cur - num + 1);} else {continue;}}return ans;}
}
http://www.yidumall.com/news/24497.html

相关文章:

  • 网站扩展名郑州网络优化实力乐云seo
  • 北京怎样做网站推广最新疫情19个城市封城
  • 安徽网站建设公司排名经典广告推广词
  • 西安前端培训机构推荐池州网站seo
  • 短视频运营策划seo技术教程网
  • 做视频网站用什么系统自己想做个网站怎么做
  • 做网站能自己找服务器吗免费浏览外国网站的软件
  • 池州专业网站建设怎么样今日头条seo
  • 在工商局网站如果做注销公告合肥搜索引擎优化
  • 可以挣钱的网站知名的搜索引擎优化
  • 滨州北京网站建设价格seo快速优化技术
  • 日本做黄视频网站有哪些长沙seo优化价格
  • 重庆市建筑工程信息官方网站小程序推广方案
  • 在线网站系统客服全国病毒感染最新消息
  • 广州市住房城乡建设局网站中国制造网
  • 广州手机建设网站如何推广自己的网站
  • 什么专业的会做网站网站优化及推广
  • 大数据网站开发工程师合肥关键词排名
  • 产品商城网站建设关键词拓展工具有哪些
  • wordpress媒体库打不开关键词优化话术
  • 做兼职哪家网站靠谱百度关键词搜索推广
  • 域名价格一览表seo的作用主要有
  • php ajax网站开发典型实例 pdf产品线上推广渠道
  • 画中画有哪些网站可以做网络营销师报名官网
  • 做外汇交易的浏览什么网站百度站长工具验证
  • wordpress做视频网站吗seo主要做什么工作
  • 外贸网站建设如何做呢百度推广怎么样
  • 武汉云时代网站建设公司怎么样小升初最好的补课机构排行榜
  • 如何检测网站是否安全网络营销策划案例
  • 爬取旅游网站数据并进行分析seo海外