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

娱乐公司网站建站背景介绍网站建设构成

娱乐公司网站建站背景介绍,网站建设构成,什么是设计方案,tdk标签影响网站权重(一)问题描述 128. 最长连续序列 - 力扣(LeetCode)128. 最长连续序列 - 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复…

(一)问题描述

128. 最长连续序列 - 力扣(LeetCode)128. 最长连续序列 - 给定一个未排序的整数数组 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] <= 109icon-default.png?t=O83Ahttps://leetcode.cn/problems/longest-consecutive-sequence/description/?envType=study-plan-v2&envId=top-100-liked给定一个未排序的整数数组 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

 (二)解决思路

这道题目要求找连续序列,同时不要求序列位置连续,即查找数值大小上连续的元素有几个。那么使用哈希结构中的集合(Set)是最合适的:可以去除数组中重复的元素,又能快速找到符合条件的元素

思路很简单:

  • 找到序列的起始元素(即序列当中数值最小的元素)
  • 不断找到该序列中的下一个元素(比当前元素大一),每找到一个,序列长度就加一
  • 一个数组里可能包含多个序列,比较得到的多个长度取最大,就是当前数组中的最大连续序列长度。
class Solution {public int longestConsecutive(int[] nums) {//将给定数组转换为集合Set<Integer> s=new HashSet<>();for(int n : nums){s.add(n);}//用来记录序列长度的变量int longestStreak=0;//遍历集合中的元素for(Integer sn : s){//当前已经统计的序列长度,起始时只有一个元素int currentStreak=1;//当前元素的数值,起始时为当前遍历到的元素snint currentNum=sn;//序列当中没有比sn小1的元素,说明sn是一个序列的起始点if(!s.contains(sn-1)){   //只要有比sn大一的元素,就说明序列还没有结束,不断找序列中的下一个元素,同时序列长度加一while(s.contains(currentNum+1)){currentStreak+=1;currentNum+=1;}//取所有序列长度的最大值longestStreak=Math.max(longestStreak,currentStreak);}}return longestStreak;}
}

 (三)易错点

        这道题要求时间复杂度为O(n),那么就不能有排序,只要针对数组排序,时间复杂度就会大于O(n)。所以这道题解题的关键是想到找序列的起点,以及怎么找序列的节点。如果不找序列的起点,是没有办法按顺序累加元素的。

        另外也不是循环嵌套,时间复杂度就一定大于O(n)的哈。像这道题里面第二层循环的执行是有条件的,时间复杂度还是O(n)。

http://www.yayakq.cn/news/139255/

相关文章:

  • it做私活的网站小程序登录模板
  • 建立网站费用表网站搜索引擎关键字怎么做
  • 南京网站开发公司排名建设网站的重点与难点在于
  • 域名续费后网站打不开seo长沙
  • 求网页设计与网站建设网络软文营销是什么意思
  • 申请免费个人网站和域名网站seo哪家好
  • 公司做网站最好昆明app开发哪家好
  • 个人与公司网站备案长沙营销推广
  • 用node.js可以做网站吗仿qq网站程序
  • 建站公司走量渠道企业网站seo模板
  • 网站哪个公司做网站设计基本结构
  • 永州建设网站pc网站模板
  • 网站版面设计说明招聘网站数建设
  • 智能建站黑客基础菜鸟入门教程
  • wp建站系统企业建设网站的主要目的
  • 营销型网站建设要点asp业务网站
  • 微信视频网站建设多少钱云网站注册
  • 手游门户网站建设制作网页需要什么专业
  • 陕西咸阳建设银行网站杭州seo首页优化软件
  • 网站开发技术网站模板嘿嘿嘿你懂我意思正能量
  • 通用网站后台管理系统(php版) 1.6怎么用wordpress token插件
  • 找个网站懂的网站苏州营销网站建设
  • 网站制作ppt自己做网站导航页
  • 石家庄网站建设销售电话凡科网站代理登录入口
  • 阿里云网站核验单自己在线制作logo免费设计软件
  • 个人网站开发意义dede如何制作手机网站
  • iis部署网站 红叉国际购物网站平台有哪些
  • 主流的网站建设的软件网站建设实质
  • 手机移动端网站建设做的网站怎么放到网上
  • 浙江网站制作公司科技对人类的意义