longest_consecutive_sequence

 1# @leet start
 2class Solution:
 3    def longestConsecutive(self, nums: list[int]) -> int:
 4        num_set = set(nums)
 5        max_len = 0
 6        for num in num_set:
 7            curr_len, curr_num = 1, num
 8            max_len = max(max_len, curr_len)  # to handle the case of 1 item
 9            if num - 1 in num_set:
10                continue
11            while curr_num + 1 in num_set:
12                curr_len += 1
13                max_len = max(max_len, curr_len)
14                curr_num += 1
15        return max_len
16
17
18# @leet end
19sol = Solution()
20
21
22def test():
23    assert sol.longestConsecutive([100, 4, 200, 1, 3, 2]) == 4
24    assert sol.longestConsecutive([0, 3, 7, 2, 5, 8, 4, 6, 0, 1]) == 9
25    assert sol.longestConsecutive([0, 0]) == 1
class Solution:
 3class Solution:
 4    def longestConsecutive(self, nums: list[int]) -> int:
 5        num_set = set(nums)
 6        max_len = 0
 7        for num in num_set:
 8            curr_len, curr_num = 1, num
 9            max_len = max(max_len, curr_len)  # to handle the case of 1 item
10            if num - 1 in num_set:
11                continue
12            while curr_num + 1 in num_set:
13                curr_len += 1
14                max_len = max(max_len, curr_len)
15                curr_num += 1
16        return max_len
def longestConsecutive(self, nums: list[int]) -> int:
 4    def longestConsecutive(self, nums: list[int]) -> int:
 5        num_set = set(nums)
 6        max_len = 0
 7        for num in num_set:
 8            curr_len, curr_num = 1, num
 9            max_len = max(max_len, curr_len)  # to handle the case of 1 item
10            if num - 1 in num_set:
11                continue
12            while curr_num + 1 in num_set:
13                curr_len += 1
14                max_len = max(max_len, curr_len)
15                curr_num += 1
16        return max_len
sol = <Solution object>
def test():
23def test():
24    assert sol.longestConsecutive([100, 4, 200, 1, 3, 2]) == 4
25    assert sol.longestConsecutive([0, 3, 7, 2, 5, 8, 4, 6, 0, 1]) == 9
26    assert sol.longestConsecutive([0, 0]) == 1