from typing import List import pytest class Solution: def longestConsecutive(self, nums: List[int]) -> int: if len(nums) == 0: return 0 res: List[List[int]] = [] for i in range(0, len(nums)): if i == 0: res.append([nums[i]]) continue e = nums[i] for ri in range(0, len(res)): if res[ri][-1] + 1 == e: res[ri].append(e) break res.append([e]) return res return max([len(r) for r in res]) @pytest.mark.parametrize( "input_value, expected_value", [ ([2, 20, 4, 10, 3, 4, 5], 4), ([0, 3, 2, 5, 4, 6, 1, 1], 7), ], ) def test_solution(input_value, expected_value): s = Solution() assert s.longestConsecutive(nums=input_value) == expected_value