最长连续序列【哈希】

发布时间:2024年01月05日

Problem: 128. 最长连续序列

思路

用set去重并且使用hash查找某个数存在与否

解题方法

遍历每个数,先判断这个数-1是否在hash表里面,如果在则跳过,否则从这个数开始一直枚举,一直到枚举到的数不在hash表里面。

复杂度

时间复杂度:

添加时间复杂度, 示例: O ( n ) O(n) O(n)

空间复杂度:

添加空间复杂度, 示例: O ( n ) O(n) O(n)

Code

class Solution:
    def longestConsecutive(self, nums: List[int]) -> int:
        numSet = set(nums)
        longest = 0
        for num in numSet:
            if num - 1 in numSet:
                continue
            else:
                len = 1
                while num + 1 in numSet:
                    num += 1
                    len += 1
                longest = max(longest, len) 
        return longest
文章来源:https://blog.csdn.net/qq_45985728/article/details/135419582
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。