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

教做美食的网站网站栏目做跳转后不显示

教做美食的网站,网站栏目做跳转后不显示,成都公司网页制作联系电话,宣传方式有哪些128. 最长连续序列 - 力扣(LeetCode) 给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输…

128. 最长连续序列 - 力扣(LeetCode)

给定一个未排序的整数数组 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

示例 3:

输入:nums = [1,0,1,2]
输出:3

提示:

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

解题思路:

对于 nums 中的元素 n,以 n 为起点,不断查找下一个数 n+1, n+2, ⋯ 是否在 nums 中,并统计序列的长度。

为了满足O(n)的时间复杂度, 

1. 把 nums 的元素放在 Set 中去重后, O(1) 复杂度判断 n + 1...是否在 nums 中;

2. 如果 n - 1 在 Set 集合中, 则不能以 n 为起点, 因为 n - 1 为起点的序列一定比 n 为起点的序列长。

class Solution {public int longestConsecutive(int[] nums) {// hash// Time: O(n)// Space: O(n)Set<Integer> set = new HashSet<>();for (int num : nums) {set.add(num);}int longestStreak = 0;for (int num : set) {if (!set.contains(num - 1)) {int curNum = num;int curStreak = 1;while (set.contains(curNum + 1)) {curNum++;curStreak++;}longestStreak = Math.max(longestStreak, curStreak);}}return longestStreak;}
}

http://www.dtcms.com/a/603711.html

相关文章:

  • 深圳有做网站最近价格做结构图的网站
  • 沈阳网站建设那家好洪雅网站建设
  • 做电影网站赚钱么濮阳网站建设价格
  • 揭阳seo网站管理2022麻豆区区区三区四区
  • 重庆网站建设平台城市建设游戏模拟网站
  • 网站开发培训 从0阿里巴巴国际站网站做销售方案
  • 宜春网站建设百度关键词优化送网站
  • 无锡网站商城建设南通网站建设规划书
  • 廉洁 网站建设php动态页面
  • 青海做网站的公司网站域名注册证书查询
  • 外部门户网站首页如何提升网站加载速度
  • 如何制作自己的作品集网站oa系统费用报销流程
  • 高中教学网站深圳做h5网站的公司
  • 贵阳网站制作建设养殖网站 模板
  • 甘肃建设厅网站执业注册中心丝瓜app官网下载安装io
  • 网站开发现在用什么公司网站怎么免费建
  • asp一个空间建多个网站系统湖南建设人力资源网和报考平台
  • 网站编程设计培训培训网站建设
  • 保定网站建设咨询北京企业建站公司
  • 气象网站建设的自查报告百度开发者大会
  • 做网站怎么插音乐循环百度sem
  • 先做网站后备案吗湛江h5建站
  • 网站设计咨询网络营销是什么的组成部分
  • 大航母网站建设流程局域网wordpress
  • 宁夏网站建设中2017常用的网站
  • 网站开发ckplayer加载失败情感导师在线咨询服务
  • 即墨网站建设哪家好网站导航栏
  • nginx网站开发电子商务网页设计总结
  • 唐山做网站公司云电脑平台哪个免费
  • 个人建站建设策划书的推广与运营