# 最长连续序列 (Longest Consecutive Sequence) ## 题目描述 给定一个未排序的整数数组 nums,找出数字连续的最长序列的长度。 ## 解题思路 ### 哈希表 将数字存入哈希表,对于每个数字,如果它是序列的起点(num-1 不在集合中),则向后查找。 ## Go 代码 ```go func longestConsecutive(nums []int) int { numSet := make(map[int]bool) for _, num := range nums { numSet[num] = true } longest := 0 for num := range numSet { if !numSet[num-1] { // 是序列起点 currentNum := num current := 1 for numSet[currentNum+1] { currentNum++ current++ } if current > longest { longest = current } } } return longest } ``` **复杂度:** O(n) 时间,O(n) 空间