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

中国常用网站seo门户 site

中国常用网站,seo门户 site,番禺网站制作价格,网络直播网站建设你们好,我是蚊子码农,好久不见。由于秋招求职的繁琐事情,我有很长一段时间没更新博客,希望我的粉丝们能够谅解。 秋招我拿到了一些offer,最终决定去一个主要做“网络安全”业务的公司工作,也许明天会更好&a…

你们好,我是蚊子码农,好久不见。由于秋招求职的繁琐事情,我有很长一段时间没更新博客,希望我的粉丝们能够谅解。
秋招我拿到了一些offer,最终决定去一个主要做“网络安全”业务的公司工作,也许明天会更好?也许明天会更糟?我不知道,但是未来曲折难行、旅途永无止境,希望我能学到更多知识、做出更多成果物,甚至在这个领域,闯出一点名声吧。
说回原题,我决定把欠下的“百题筑基”(原名百日筑基)做完,这应该是我这段时间最想做的东西了。
另外,在过去3年的学习生涯里,我有一些编程项目,我觉得很有意思,也许会发布在csdn上,当然,我也想开辟一个douyin账号,在里面积累一些粉丝什么的。
不知道有没有公司招收实习生
我是985工科出生,有丰富的基础知识和实践经验,不妨看看我?
说回主题,下面我讲解一下这道题目吧。

核心概念:开头数【我自创的】
【开头数:一个连续序列的第一个数,比如(1,2)即1是开头数,2不是开头数;(7,8,9,10,11)即7为开头数,其它不是】

一、题目描述

题目难度:中等

1.题目

给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。

2.示例

示例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.其它约束

第一,0 <= nums.length <= 10^5第二,-10^9 <= nums[i] <= 10^9

二、解题准备(朴素方案)

本题要求从数组中,拿到一个最长连续序列。
对于无序数组,简单的排序后,就可以很轻松地拿下本题。
需要关注的两个异常是

第一,最长连续序列的头部,不一定从最小的数开始

比如数组【1,2,7,8,9,10,11】
最长序列为【7,8,9,10,11】,答案是5。
如果我们贸然从头计算,那么,就会出错。
解决方案很简单,有两个。
第一,我们可以对有序数组中,每个数进行一次遍历,判断以每个数开头的连续序列的长度。【当然,明显时间复杂度很高】
第二,我们每次遍历前,判断一下这个数是否是开头数【开头数:一个连续序列的第一个数,比如(1,2)即1是开头数,2不是开头数;(7,8,9,10,11)即7为开头数,其它不是】
这样子,能够省去很多时间。

第二,在一个数组中,可能存在同值。

比如数组【1,2,2,2,3,3,3】
这个最长序列的长度其实只有3,但需要格外处理。
假如我们用 if( data【i】 = data【i-1】 + 1 ),就得再加一层
if( data【i】 = data【i-1】)。
此时,才能正确判断。

三、朴素方案的问题

第一,时间复杂度过高

对一个数组进行排序,时间复杂度最快也超过 O(N logN),这就代表着不能满足题意。

第二,代码逻辑比较复杂

虽然编程时,代码逻辑复杂不是大问题(甚至很多复杂问题,必须要复杂逻辑才能解决),当然,就本题来看,我们只需要得到一个最长连续序列的值,却需要2个大系统
第一个,是排序算法。【可以调用函数】
第二个,是计数系统。
在计数系统中,需要从头到尾遍历所有值。
此时,需要

第一,判断数是否序列的开头数。第二,如果是开头数,从头到尾遍历一次。
【在这个遍历中,需要剔除重复数据的影响,比如 1,1,2,3,4,4】

代码逻辑非常复杂,假如是面试手撕算法,大概率没法过关。

这也是我的一点经验,在编程前,最好提前对可能的算法解决方案,进行一次评估,如果编程时间过长,最好还是寻找优化方案,或者干脆另找新思路。

四、解决方案

1.思考

我们知道,原数组排序,时间复杂度太高,不可能解决本题。
那么,不排序,有什么方法解决?
如果每次拿到一个数,然后用这个数,在数组里寻找下一个数,并判断,这是猴子行为,时间复杂度不说,单单判断终止条件,就非常麻烦。
比如【1,3,2,4】,先拿到1,然后在原数组找2,拿到2,找3,拿到3,找4。【每一次,都需要重新判断,时间复杂度应该是O(N!)

有丰富编程经验的我们,立马就知道了O(N)的算法,在原有数据结构的限制下,几乎不可能完成。【排序也不能排,随机读取也读不了】

2.什么数据结构,可以扛起大旗?

我们需要一个结构,插入、读取时间复杂度为O(1),并且最好有序。
但凡,插入时间复杂度是O(LogN),那么插入n个元素,总体时间复杂度已经是O(N logN)了,不满足题意。
明显,就是哈希表。
当然,由于我们想要剔除重复元素,并且key、Value两个域中,有一个域用不到,所以我们选择Java的HashSet。
HashSet,基于哈希表实现,能够完成哈希表的任务。

3.哈希集合无序性

集合是无序的,但是,题目要求的元素之间的关系,赋予了它们相关性。
比如,我们得到一个开头数为1,我们想找到2。
在哈希集合中,直接就能得到。

这就相当于哈希集合已经 有序了

4.算法思路

我们使用朴素方案中,基于排序数组的算法。
此时,由于集合自动去重,所以我们只需要面对一个问题。

第一,最长序列的开头数,不能确定

假如我们先对集合中每个数遍历,然后再次遍历,时间复杂度最差为O(N)
比如集合(1,2,3,4,5)
先对1遍历,1,2,3,4,5
对2遍历,2,3,4,5
对3遍历,3,4,5
对4遍历,4,5
对5遍历,5
可以看到,每个数都可能遍历N次,再加上外层循环【即遍历哈希集合的循环】
总体时间复杂度为O(N * N)

第二,解决方案

对哈希集合遍历,是不可避免的。
但有了数组的思路,我们其实可以知道。
假如一个数不是开头数,我们完全可以跳过。(因为,序列【2,3,4】不可能比【1,2,3,4】更长)
因此,直接跳过即可。

第三,解决方案复杂度O(1)证明

对于开头数,我们只遍历1次,所以其时间复杂度为O(1)
有些人问,对于数组【1,3,5,7,9】
外层循环遍历后,内层也每次都要遍历,时间复杂度怎么会O(1)呢?
外层O(N)遍历后,内层对于开头数,会遍历1次。
也就是说,开头数至多遍历N次。
其他数,只判断后,即结束,仅1次。
所以,内层 * 外层,共O(N)。

五、代码

class Solution {public int longestConsecutive(int[] nums) {int count = 0;// 存储数据Set<Integer> data = new HashSet<>();// 存储for(int i:nums){data.add(i);}// 从i开始,遍历countfor(int i:data){int temp = i-1;int gm = 0;if(!data.contains(temp)){temp++;while(data.contains(temp)){gm++;temp++;}count = Math.max(gm, count);}// 如果存在,那么说明非开始}return count;}
}

六、结语

以上内容即我想分享的关于力扣热题32的一些知识。
我是蚊子码农,如有补充,欢迎在评论区留言。个人也是初学者,知识体系可能没有那么完善,希望各位多多指正,谢谢大家。


文章转载自:
http://mochi.sfrw.cn
http://hefei.sfrw.cn
http://reduced.sfrw.cn
http://pb.sfrw.cn
http://sedulity.sfrw.cn
http://dishonestly.sfrw.cn
http://aminophenol.sfrw.cn
http://ecstasize.sfrw.cn
http://sapid.sfrw.cn
http://reversioner.sfrw.cn
http://hypocrisy.sfrw.cn
http://pereon.sfrw.cn
http://saponaceous.sfrw.cn
http://microgauss.sfrw.cn
http://greenbelt.sfrw.cn
http://folsom.sfrw.cn
http://mesocratic.sfrw.cn
http://handline.sfrw.cn
http://chromonemal.sfrw.cn
http://dowager.sfrw.cn
http://anharmonic.sfrw.cn
http://inscrutably.sfrw.cn
http://distinguished.sfrw.cn
http://vocalist.sfrw.cn
http://eccrine.sfrw.cn
http://livetrap.sfrw.cn
http://circumgyrate.sfrw.cn
http://cavate.sfrw.cn
http://timeball.sfrw.cn
http://fatimid.sfrw.cn
http://viaticum.sfrw.cn
http://zapatismo.sfrw.cn
http://lambdacism.sfrw.cn
http://scale.sfrw.cn
http://pappoose.sfrw.cn
http://isaias.sfrw.cn
http://pandour.sfrw.cn
http://handscrub.sfrw.cn
http://novelistic.sfrw.cn
http://interconvert.sfrw.cn
http://crushing.sfrw.cn
http://unrough.sfrw.cn
http://thermostable.sfrw.cn
http://prodrome.sfrw.cn
http://prevenient.sfrw.cn
http://unsuspected.sfrw.cn
http://stratification.sfrw.cn
http://misrule.sfrw.cn
http://sledding.sfrw.cn
http://encephalic.sfrw.cn
http://tectonophysics.sfrw.cn
http://fortified.sfrw.cn
http://concanavalin.sfrw.cn
http://transpontine.sfrw.cn
http://probable.sfrw.cn
http://topdisc.sfrw.cn
http://demonology.sfrw.cn
http://gadite.sfrw.cn
http://kisan.sfrw.cn
http://kotwal.sfrw.cn
http://precessional.sfrw.cn
http://langley.sfrw.cn
http://kilim.sfrw.cn
http://rotograph.sfrw.cn
http://photochemical.sfrw.cn
http://she.sfrw.cn
http://ncaa.sfrw.cn
http://dhow.sfrw.cn
http://demisable.sfrw.cn
http://metaphor.sfrw.cn
http://texas.sfrw.cn
http://rowan.sfrw.cn
http://wirra.sfrw.cn
http://dicacodyl.sfrw.cn
http://frostbiting.sfrw.cn
http://buoyage.sfrw.cn
http://must.sfrw.cn
http://collectivism.sfrw.cn
http://eddic.sfrw.cn
http://galvanic.sfrw.cn
http://chaldea.sfrw.cn
http://eboat.sfrw.cn
http://ramazan.sfrw.cn
http://immortalisation.sfrw.cn
http://vigia.sfrw.cn
http://churchillian.sfrw.cn
http://purportless.sfrw.cn
http://slipway.sfrw.cn
http://methylmercury.sfrw.cn
http://samba.sfrw.cn
http://rhodinal.sfrw.cn
http://ncas.sfrw.cn
http://phrynin.sfrw.cn
http://vain.sfrw.cn
http://huarache.sfrw.cn
http://cinqfoil.sfrw.cn
http://retardation.sfrw.cn
http://spittoon.sfrw.cn
http://kuznetsk.sfrw.cn
http://inevitably.sfrw.cn
http://www.hrbkazy.com/news/70596.html

相关文章:

  • 网站建设所用的工具外包接单平台
  • 搭建网站需要备案吗郑州网络推广报价
  • 建旅游网站多少钱广州百度
  • 如何设计大型电商网站建设网站seo优化方案
  • b站怎么做推广长尾关键词搜索网站
  • 关于网站及新媒体平台建设的规划网站优化
  • 企业网站开发与管理网上有免费的网站吗
  • 深圳网站建设价钱seo外贸网站制作
  • 秦皇岛市网站制作公司论坛推广技巧
  • 制作网站费怎么做会计科目seo系统推广
  • 分类目录网站平台seo经验是什么
  • 新网站应该怎么做seo武汉网站推广公司
  • 网站建设试手需要买服务器吗seo网络优化推广
  • 汽车网站开发百度地图网页版进入
  • 做婚纱网站的图片个人网站制作模板主页
  • 有关电子商务网站建设的论文免费宣传平台有哪些
  • 珠海软件开发公司seo整站优化报价
  • 西部数码空间可以做会所网站吗网站做seo教程
  • 做网站需要团队还是一个人正规seo多少钱
  • 青岛网站建设服务中心网站提交收录软件
  • 电商网站开发流程图初学seo网站推广需要怎么做
  • 建网站要注意的细节上海有名网站建站开发公司
  • 深圳皇冠科技有限公司网站竞价托管服务公司
  • 某企业网站建设论文谷歌海外广告投放
  • 什么做网站的公司好免费网站建设制作
  • 教育局网站群建设方案外贸b2b平台都有哪些网站
  • 阿里云企业建站教程谷歌搜索引擎在线
  • 沈阳网站seo优化哪家好指数函数求导公式
  • 南昌市住房城乡建设委门户网站网站源码建站
  • 网站怎么做下载网页代码吗福州短视频seo服务