40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
def longestConsecutive(nums):
|
|
"""
|
|
:type nums: List[int]
|
|
:rtype: int
|
|
"""
|
|
# Handle edge-case
|
|
if len(nums) < 1:
|
|
return 0
|
|
nums.sort()
|
|
sequence = [nums[0]]
|
|
answer = 0
|
|
temp = None
|
|
print(nums)
|
|
for r in range(len(nums)):
|
|
# print(nums[r])
|
|
# print(f'seq is {sequence} with len of {len(sequence)}')
|
|
if nums[r] == max(sequence)+1 and nums[r] not in sequence:
|
|
# print(f'hit {nums[r]}')
|
|
sequence.append(nums[r])
|
|
elif nums[r] == max(sequence):
|
|
continue
|
|
else:
|
|
print(f'seq is {sequence} with len of {len(sequence)}')
|
|
if len(sequence) > answer:
|
|
answer = len(sequence)
|
|
# print('hit')
|
|
sequence.clear()
|
|
sequence.append(nums[r])
|
|
if len(sequence) > answer:
|
|
return len(sequence)
|
|
else:
|
|
return answer
|
|
|
|
|
|
|
|
# print(longestConsecutive([100,4,200,1,3,2]))
|
|
# print(longestConsecutive([0,3,7,2,5,8,4,6,0,1]))
|
|
# print(longestConsecutive([1,3,5,2,4]))
|
|
# print(longestConsecutive([9,1,4,7,3,-1,0,5,8,-1,6]))
|
|
print(longestConsecutive([1,2,0,1])) |