LeetCode

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

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

目錄

目錄