128. Longest Consecutive Sequence
leetcode網址
問題
給你一個一維整數陣列nums
,找到最長有連續整數的序列長度
Time = O (n) || Space = O(n)
Idea
每次都去看左邊和右邊的連續數字的長度,兩邊長度再加自己,然後一直更新最長長度length
- 檢查是否已經拜訪過
- 檢查左邊是否有連續數字 ? 往左連續走的長度 : 0
- 檢查右邊是否有連續數字 ? 往右連續走的長度 : 0
- 現在長度更新 = 往左連續走的長度 + 往右連續走的長度 + 1(自己)
- 更新往左走到底的長度,更新往右走到底的長度 -> 可能成為其他人的左邊或右邊連續數字
- 更新最大長度 = max(length, current)
Solution