当前位置: 首页> 游戏> 攻略 > 建筑网站知乎_青岛网站建设推进_免费b站推广网站入口_今日重大新闻头条财经

建筑网站知乎_青岛网站建设推进_免费b站推广网站入口_今日重大新闻头条财经

时间:2025/7/12 3:16:15来源:https://blog.csdn.net/qq_67733273/article/details/142991156 浏览次数:0次
建筑网站知乎_青岛网站建设推进_免费b站推广网站入口_今日重大新闻头条财经

文章目录

  • 题目描述
  • 题解思路
  • 题解代码
  • 题解链接

题目描述

在这里插入图片描述

题解思路

首先我们可以将所有数字保存在集合中,然后 最长连续序列的开头数字 - 1 一定不存在于数组中,想到这一点,这题就迎刃而解了
我们只需要遍历集合
如果遍历到的当前数字 - 1存在于数组中就跳过这个数字的处理
如果遍历到的当前数字 - 1不存在于数组中,找寻以当前数字开头的最长连续序列,然后与结果取最长值
最终遍历结果,返回最长的连续序列长度即可

题解代码

func longestConsecutive(nums []int) int {m := map[int]struct{}{}for i := 0; i < len(nums); i++ {m[nums[i]] = struct{}{}}ans := 0for num := range m {if _, ok := m[num - 1]; ok {continue}offset := 0for {offset++_, ok := m[num + offset]if !ok {break}}ans = max(ans, offset)}return ans
}

题解链接

https://leetcode.cn/problems/longest-consecutive-sequence/

关键字:建筑网站知乎_青岛网站建设推进_免费b站推广网站入口_今日重大新闻头条财经

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: