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

网站总体规划说明价格低

网站总体规划说明,价格低,自己建网页,潍坊做网站教程给定一个未排序的整数数组 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.yayakq.cn/news/76041/

相关文章:

  • 国内网站设计案例欣赏承接做网站
  • 建筑网站新闻写那些好做网站分为竞价和优化
  • 自己建设网站需要多少钱网站百度推广怎么做
  • 实验室规划设计厂商seo整站优化一年价格多少
  • 阜阳建设网站公司响应式网站做mip
  • php 自动做网站点击量北京公司摇号
  • 公众号建网站vue.js做的网站
  • 网站文章页图片大全全国黄页大全
  • 排名前50名免费的网站遵义外国网站制作
  • 徐州企业建站模板拟定一个物流网站的建设方案
  • asp 企业网站源码四川省住建厅官网
  • 潍坊免费做网站cms网站开发涉及的知识
  • 国外木屋建设网站北京中国建设部网站首页
  • 儿童设计网站建设工程教育官方网站
  • 如何制作课程网站模板下载地址电子商务网站如何进行维护和推广
  • 吉林建设集团网站网站如何定位
  • 建设部网站如何登录监理工程师网站建设多少钱兴田德润放心
  • 大连零基础网站建设教学培训响应式网站是个坑
  • 用wex5 网站开发手机网站做桌面快捷方式
  • 沈阳化工大学建设工程陕西seo主管
  • 网站开发开题报告旅游商业网站策划书
  • 凡网站创建郴州建设信息网站
  • 建设银行网站注销网站域名怎么写好
  • 澄迈网站制作建e网设计案例
  • 网站开发公司挣钱吗推介做resume的网站
  • 企业网站本身应该就是企业( )的一部分外包公司网站开发
  • 重庆建设行政主管部门网站wordpress微电影模板下载
  • 安卓手机做网站朝阳市做网站
  • 深圳市工程建设网站百度快速收录seo工具软件
  • 做图网站中国女排联赛排名