Leetcode # 128. Longest Consecutive Sequence

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

Solution

只在 nums 沒有 num – 1 時向上尋找

Time Complexity: O(n)
Space Complexity: O(n)

class Solution:
  def longestConsecutive(self, nums: List[int]) -> int:
    num_set = set(nums)
    longest_consecutive_len = 0
    for num in nums:
      if num - 1 in num_set:
        continue
        
      cur_num = num
      cur_len = 1
      while cur_num + 1 in num_set:
        cur_num += 1
        cur_len += 1
      longest_consecutive_len = max(cur_len, longest_consecutive_len)
      
    return longest_consecutive_len

 

Last Updated on 2023/08/16 by A1go

目錄

目錄
Bitnami