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():