Skip to content

Commit 5e5cea2

Browse files
committed
longest consecutive sequence today
1 parent c952876 commit 5e5cea2

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

src/longest_consecutive_sequence.py

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
from typing import List
2+
3+
4+
class Solution:
5+
def longestConsecutive(self, nums: List[int]) -> int:
6+
numSet = set(nums)
7+
longest = 0
8+
9+
for n in nums:
10+
if (n - 1) not in numSet:
11+
length = 1
12+
while (n + length) in numSet:
13+
length += 1
14+
longest = max(longest, length)
15+
return longest

tests/test_longest_consecutive.py

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
from longest_consecutive_sequence import Solution
2+
3+
testcase = [{"testcase": [100, 200, 1, 2, 3, 4], "result": 4}]
4+
5+
6+
def test_longest_consecutive_sequence():
7+
for tc in testcase:
8+
nums = tc["testcase"]
9+
ans = Solution().longestConsecutive(nums)
10+
assert ans == tc["result"]

0 commit comments

Comments
 (0)