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

seo排名优化appzac seo博客

seo排名优化app,zac seo博客,个人视频网站注册平台,义乌进货网文章目录 1.问题描述2.难度等级3.热门指数4.解题思路方法一#xff1a;排序方法二#xff1a;哈希表 5.实现示例参考文献 1.问题描述 给定一个未排序的整数数组 nums #xff0c;找出数字连续的最长序列#xff08;不要求序列元素在原数组中连续#xff09;的长度。 请你… 文章目录 1.问题描述2.难度等级3.热门指数4.解题思路方法一排序方法二哈希表 5.实现示例参考文献 1.问题描述 给定一个未排序的整数数组 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] 输出92.难度等级 medium。 3.热门指数 ★★★★☆ 出题公司阿里、腾讯、百度、字节。 4.解题思路 方法一排序 根据本题的描述一般来说最容易想到的就是先将 nums 进行排序然后再从排序后的数组头部开始遍历如果存在nums[i]1则进行加1计数。只要不存在 nums[i]1则从 0 开始重新执行计数操作。那么每当发生了“断点”如果当前连续序列长度大于 result 则更新 result 值result 表示最长连续序列的长度。 但是由于本题目要求实现时间复杂度为 O(n) 的算法解决此问题那么排序的做法我们就无法实现了。那么我们还有什么别的方法来解决这道题吗 方法二哈希表 我们考虑枚举数组中的每个数 x考虑以其为起点不断判断 x1,x2,⋯x1, x2,⋯ 是否存在假设最长匹配到了 xy其长度为 y1我们不断枚举并更新答案即可。 对于匹配的过程暴力的方法是 O(n) 遍历数组去看是否存在这个数但其实更高效的方法是用一个哈希表存储数组中的数这样查看一个数是否存在即能优化至 O(1) 的时间复杂度。 仅仅是这样我们的算法时间复杂度最坏情况下还是会达到 O(n^2)当整个数组为最长序列外层需要枚举 O(n) 个数内层需要暴力匹配 O(n) 次无法满足题目的要求。但仔细分析这个过程我们会发现其中执行了很多不必要的枚举如果已知有一个 x,x1,x2,⋯ ,xy 的连续序列而我们却重新从 x1x2 或者是 xy 处开始尝试匹配那么得到的结果肯定不会优于枚举 x 为起点的答案因此我们在外层循环的时候碰到这种情况跳过即可。 那么怎么判断是否跳过呢由于我们要枚举的数 x 一定是在数组中不存在前驱数 x−1。不然按照上面的分析我们会从 x−1 开始尝试匹配因此我们每次在哈希表中检查是否存在 x−1 即能判断是否需要跳过了。 增加了判断跳过的逻辑之后时间复杂度是多少呢外层循环需要 O(n) 的时间复杂度只有当一个数是连续序列的第一个数的情况下才会进入内层循环然后在内层循环中匹配连续序列中的数因此数组中的每个数只会进入内层循环一次。根据上述分析可知总时间复杂度为 O(n)符合题目要求。 5.实现示例 下面以 Golang 为例给出上面的实现。 注意Golang 中如果哈希表只有 key 没有 value建议使用 map[any]struct{}因为空结构体不占用内存空间。 func longestConsecutive(nums []int) int {m : make(map[int]struct{}, len(nums))for _, n : range nums {m[n] struct{}{}}var longestStreak intfor x : range m {// 跳过逻辑if _, ok : m[x-1]; ok {continue}// 计算连续子序列长度y : x 1for ;;y{if _, ok : m[y]; !ok {break}}if y - x longestStreak {longestStreak y-x}}return longestStreak }LeetCode 运行结果如下 参考文献 128. 最长连续序列 - leetcode
http://wiki.neutronadmin.com/news/312031/

相关文章:

  • win7局域网网站开发c#做的网站怎么上传
  • 邯郸网站建设恋家岳阳平台网站制作
  • 广州网站网站asp代码
  • 网站建设与开发wordpress平台
  • 网站开发背景400字做网站便宜
  • 北京网络网站建设公司长沙响应式网站设计有哪些
  • wordpress网站用户注册友情链接适用网站
  • 搜索引擎排名公司网站关键词优化ui设计的发展趋势
  • 提取卡密网站怎么做建一个公司网站要多久
  • 做网站设计多少钱wordpress添加媒体库
  • 汽车网站的建设方向wordpress+最新版本
  • 网站开发人员的岗位职责网站推广计划怎么做
  • 水滴保险官方网站高端网站设计新感觉建站
  • 上海哪家做网站好网站优化说明
  • 博乐建设工程信息网站h5页面和小程序的页面有什么区别
  • 联锁酒店网站建设需求分析优秀网站设计欣赏国内
  • 网站加速cdn自己做微信分身网页版网址
  • wordpress手动安装自助模板网站建设做seo
  • 网站实名认证需要什么定制微信
  • 网站页面设计收费报告的格式范文模板
  • 搜搜网站提交深圳网站的公司
  • 网站备案用的幕布可以淘宝做吗wordpress修复
  • 大气企业网站欣赏网站建设知识产权问题
  • 最好用的设计网站调用别人网站注册表单
  • 展厅设计图片信息流优化师是什么
  • 南通网站排名优化品牌网站建设定制
  • 建个网站需要投资多少钱开发公司采购招聘
  • 优质手机网站建设企业做网站技术方法有
  • 公司网站设计要多少钱广州地铁官网
  • 中力建设网站wordpress调用自定义分类标题