Loading... 这道题要求最长的连续序列,所以我们把所有的数录入到哈希表里面,用 map[int]bool,然后遍历这个哈希表,如果对应的 k-1 是不存在的说明这是一个序列起点,然后循环遍历到 cur+1 不存在,对应累计下来的序列长度是连续序列,且对应的长度用来更新最大长度,按照这个流程下来,最终的结果就是最大序列长度。 ```go func longestConsecutive(nums []int) int { seqMap := map[int]bool{} for _, v := range nums { seqMap[v] = true } maxLen := 0 for k := range seqMap { if !seqMap[k-1] { cur := k length := 1 for seqMap[cur+1] { cur++ length++ } if length > maxLen { maxLen = length } } } return maxLen } ``` Last modification:July 21, 2025 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 如果觉得我的文章对你有用,请随意赞赏