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

郑州做网站哪里便宜太原seo关键词排名

郑州做网站哪里便宜,太原seo关键词排名,黑龙江交通系统网站建设,广州建网站的公司给定一个未排序的整数数组 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。

示例 2:

输入:nums = [0,3,7,2,5,8,4,6,0,1]
输出:9

提示:

  • 0 <= nums.length <= 105
  • -109 <= nums[i] <= 109

方法一:HashSet【时间复杂度:O(n)】

优化:

1.直接遍历查找改为哈希表查找,时间复杂度为O(1)

2.对一个连续序列中的元素进行删减,让其只在最小的元素才开始+1遍历,避免重复遍历

代码:

class Solution {   //方法一:HashSet

    public int longestConsecutive(int[] nums) {

        // 建立一个存储所有数的哈希表,同时起到去重功能

        Set<Integer> hashset = new HashSet<>();

        for(int num : nums){

            hashset.add(num);

        }

        int ans = 0;   // 存储最长连续序列的长度

        // 遍历去重后的所有数字

        for(int num : hashset){

            int cur = num;

            // 只有当num-1不存在时,才开始向后遍历num+1,num+2,num+3......

            if(!hashset.contains(cur - 1)){

                while(hashset.contains(cur + 1)){

                    cur++;

                }

            }

            ans = Math.max(ans, cur - num + 1);

        }

        return ans;

    }

}

http://www.15wanjia.com/news/41196.html

相关文章:

  • 广州做网店哪个网站批发网百度图片搜索引擎入口
  • 阿里云网站建设教程2017营销网站制作
  • 网络公司网站案例企业seo服务
  • 新乐网站建设吉林刷关键词排名优化软件
  • 龙岗网站推广重庆网站搜索排名
  • 构建一个商务网站的步骤有哪些seo哪里可以学
  • 广州站是广州火车站吗定制开发公司
  • 短网址是什么seo教程下载
  • 网站开发市场成本win10最强性能优化设置
  • 学习电子商务网站建设与管理的收获6seo的方法有哪些
  • 网站是先解析后备案网站开发从入门到实战
  • 如果做网站报价seo教程网站优化推广排名
  • 自己做的网站能干站什么微信推广软件有哪些
  • 武汉建设委员会官方网站企业培训考试系统app
  • 网站开发的业务风险软文是指什么
  • 网站搭建教程视频线上运营推广
  • 备案博客域名做视频网站会怎么样公司网站建设价格
  • 官方网站建设报价表谷歌官网登录入口
  • 做下载类网站前景百度网盘搜索引擎
  • 开发一个简单的app需要多少钱陕西seo排名
  • 修改网站备案信息重庆网站
  • 阿里云域名怎么做网站网络营销项目策划
  • 网站模块图seo网络推广案例
  • 电子商城开发网站建设最好的关键词排名优化软件
  • 正规十大电商平台seo搜索引擎优化视频
  • 宁波seo公司联系方式天津seo外包
  • 网站建设技术员竞价广告是什么意思
  • 有什么做服装的网站关键词推广和定向推广
  • 武汉网站备案网络营销学校
  • wordpress实现中英文切换石家庄关键词优化软件