美文网首页
24 - Hard - 最长连续序列

24 - Hard - 最长连续序列

作者: 1f872d1e3817 | 来源:发表于2018-05-17 11:06 被阅读0次

给定一个未排序的整数数组,找出最长连续序列的长度。

要求算法的时间复杂度为 O(n)。

示例:

输入: [100, 4, 200, 1, 3, 2]
输出: 4
解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。

时间:O(n),空间O(n)

class Solution:
    def longestConsecutive(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        d = {}
        _max = 0
        for i in nums:
            if i not in d:
                left = d.get(i - 1, 0)  # 左边-1的元素的长度值
                right = d.get(i + 1, 0)  # 右边+1的元素的长度值
                d[i] = 1 + right + left  # 当前值改为左右值和+1
                d[i + right] = d[i]  # 关键!!!更新左边序列的最左边元素长度值
                d[i - left] = d[i]  # 关键!!!更新右边序列的最右边元素长度值
                _max = max(_max, d[i])
        return _max

相关文章

  • 24 - Hard - 最长连续序列

    给定一个未排序的整数数组,找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)。 示例: 输入: [100,...

  • leetcode每日一题

    3/24 128 最长连续序列 本题基本的算法思想是并查集与哈希表len[i]存储数字i所在的最长连续序列,但其实...

  • 子串和子序列问题集合

    最大子序列和 最长连续序列 输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 ...

  • LeetCode-128-最长连续序列

    LeetCode-128-最长连续序列 128. 最长连续序列[https://leetcode-cn.com/p...

  • 最长连续序列

    题目 Given a binary tree, find the length of the longest co...

  • 最长连续序列

    题目描述:给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。 示例:输入: [1...

  • 最长连续序列

    https://leetcode-cn.com/explore/interview/card/bytedance/...

  • 最长连续序列

    题目来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/long...

  • 最长连续序列

    https://leetcode-cn.com/problems/longest-consecutive-sequ...

  • LeetCode-128-最长连续序列

    最长连续序列 题目描述:给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续...

网友评论

      本文标题:24 - Hard - 最长连续序列

      本文链接:https://www.haomeiwen.com/subject/qafbdftx.html