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

禹城网站定制长春做网站推广的公司

禹城网站定制,长春做网站推广的公司,天津企业网站制作,一级做a爱网站免费你好,我是安然无虞。 文章目录 题目背景最长连续序列C解法Python解法 题目背景 如果大家对于 哈希 类型的概念并不熟悉, 可以先看我之前为此专门写的算法详解: 蓝桥杯算法竞赛系列第九章巧解哈希题,用这3种数据类型足矣 最长连续序列 题目链接&#x…

在这里插入图片描述

你好,我是安然无虞。

文章目录

    • 题目背景
    • 最长连续序列
      • C++解法
      • Python解法

在这里插入图片描述

题目背景

如果大家对于 哈希 类型的概念并不熟悉, 可以先看我之前为此专门写的算法详解:
蓝桥杯算法竞赛系列第九章·巧解哈希题,用这3种数据类型足矣

最长连续序列

题目链接:最长连续序列

在这里插入图片描述

解题思路:

这道题最直接的想法就是排序,排序之后连续的序列就很容易找到了。但是排序的时间复杂度是 O(NlogN),而题目要求我们时间复杂度为 O(N),所以我们需要另想办法。

想找连续序列,首先要找到这个连续序列的开头元素,然后递增,看看之后有多少个元素还在 nums 中,即可得到最长连续序列的长度了。

由此我们可以想到用空间换时间的思路,把数组元素放到哈希集合里面,然后去寻找连续序列的第一个元素,即可在 O(N) 时间找到答案。

比方说 nums = [8,4,9,1,3,2],我们先找到 1,然后递增,找到了 2, 3, 4,这就是一个长度为 4 的序列。

代码详情:

C++解法

class Solution {
public:int longestConsecutive(vector<int>& nums) {// 本题重点在于找到连续序列的第一个值// 转化成哈希集合,方便快速判断是否存在某个元素unordered_set<int> set;for (int num : nums) {set.insert(num);}// 记录结果int res = 0;for (int num : set) {if (set.count(num - 1)) {// num 不是连续子序列的第一个,跳过continue;}// num 是连续子序列的第一个,开始继续计算连续子序列的长度int curNum = num;int curLen = 1;while (set.count(curNum + 1)) {curNum += 1;curLen += 1;}// 更新最长连续序列的长度res = max(res, curLen);}return res;}
};

Python解法

集合的优势就是能够快速判断是否存在某个元素.

class Solution:def longestConsecutive(self, nums: List[int]) -> int:# 本题重点在于找到连续序列的第一个值set_nums = set(nums) # 将数组存放到哈希集合中res = 0 # 记录结果for num in set_nums:# 判断当前值是不是连续序列的第一个值if num - 1 in set_nums:continuecurNum = numcurLen = 1while curNum + 1 in set_nums:curNum += 1curLen += 1res = max(res, curLen)return res
遇见安然遇见你,不负代码不负卿。
谢谢老铁的时间,咱们下篇再见~
http://www.dtcms.com/wzjs/354210.html

相关文章:

  • 杭州 企业门户网站建设网络服务商在哪咨询
  • 自学网站开发深圳网络营销网站设计
  • 通化 网站建设大数据营销系统
  • 做卷子的网站免费建站网站网页
  • 做设计不进设计公司网站抖音seo软件
  • 电子商务网站环境建设百度一下你知道
  • 彩票网站的表格是如何做的百度应用下载安装
  • 电商网站开发技术方向整合营销包括哪三方面
  • wordpress可以添加字段吗北京谷歌seo
  • 广告网站测试新泰网站设计
  • 一流的网站建设公司网站建设多少钱
  • 有偿做设计的网站平台优化是指什么
  • 做网站前端代码个人信息怎么在百度推广
  • 网站建设宗旨班级优化大师功能介绍
  • letsencrypt wordpressseo网页优化公司
  • 义乌网站建设yw126百度广告怎么推广
  • 广州必玩的景点推荐东莞seo优化排名
  • 网站建设的素材处理方式北京seo服务
  • 做网站页面大小多大营销网站推荐
  • 大连网站优化技术站外推广渠道有哪些
  • 室内设计公司经营范围东莞seo代理
  • 有中文网站 怎么做英文网站搜索引擎的三个技巧
  • 网站正在建设中代码购买一个网站域名需要多少钱
  • 资源开发公司处理事件seo软件
  • 淘宝便宜的团购网站建设三叶草gw9356
  • 网站建设 博客百度的seo排名怎么刷
  • 余姚做轴承网站长沙网站排名推广
  • 德州有做网站的铜川网站seo
  • 英语课件做的好的网站凡科网
  • 万州做网站seo方法图片