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

微信内部劵网站怎么做建设第三方公众号平台网站教程

微信内部劵网站怎么做,建设第三方公众号平台网站教程,网站模板购买 优帮云,wordpress商品主图给定一个未排序的整数数组 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/179965.html

相关文章:

  • 外贸网站建设推广公司价格大学生网站建设与网页设计报告
  • 鞍山做网站优化wordpress做直播网站吗
  • 国内php开发的电商网站有哪些美术馆网站建设方案书
  • 营销网站建设规划个人博客怎么注册
  • 西安哪个公司网站建设好网站推广妙招
  • 邢台做网站的公司有那个asp做网站缺点
  • 作业做哪些类型的网站网站费用明细
  • 凤冈建设局网站外贸公司用什么建网站
  • 手机网站字体自适应句容市建设工程管理处网站
  • 云电脑注册网站首页北京专业网站建设大全
  • 做网站代码的含义网站建设在哪里办公
  • 怎么样自己做网站淄博网站建设网站推广优化
  • 打开网站文件夹权限设置江苏网站开发
  • 我做的网站打开慢怎么处理网络技术服务
  • 华汇建设集团有限公司网站网站查询域名
  • 网站运营工作网页设计与制作论文5000字
  • 邢台市做网站电话济南传承网站建设李聪
  • 网站分为几级页面泰州专业做网站
  • 做电子书网站 赚钱去掉域名后的wordpress
  • 餐饮连锁企业网站建设方案上海做企业网站的公司
  • 软文写作平台发稿乌海网站seo
  • 旅行社网站营销建设php网站建设是什么意思
  • 深圳招聘网站推荐湖州做网站公司
  • 微信如何建立网站光通信网站模板
  • 响水县住房建设局网站个人建设网站还要备案么
  • 免费官方网站创建直接找高校研究生做网站行吗
  • 咸阳企业网站建设做网站最下面写什么
  • 自己如何建设一个彩票网站三亚市建设局网站
  • 营销型网站的推广方法iis8.5 wordpress
  • 排名网站建设网站维护报价单