給定乙個未排序的整數陣列,找出最長連續序列的長度。要求演算法的時間複雜度為 o(n)。
示例:
輸入:[100, 4, 200, 1, 3, 2]輸出:4解釋:最長連續序列是[1, 2, 3, 4]。它的長度為 4。
兩種方法,一種map,一種set。
map注意除重。
class solution
return res;
}};set的方法,用兩個指標pre,next分別向兩邊掃,記錄乙個next-pre-1的最大值即可
class solution
return res;
}};map的方法,分別找當前值得左邊和右邊極限,兩邊端點和當前值設定成left+right+1.
如果該值處理過了,就不在處理(set有除重機制)
leetcode128 最長連續序列
給定乙個未排序的整數陣列,找出最長連續序列的長度。要求演算法的時間複雜度為 o n 示例 輸入 100,4,200,1,3,2 輸出 4 解釋 最長連續序列是 1,2,3,4 它的長度為 4。建立乙個dict,如果num不在裡面就檢視左右連續長度,再給num和左右處賦值 class solution...
Leetcode 128 最長連續序列
給定乙個未排序的整數陣列,找出最長連續序列的長度。要求演算法的時間複雜度為 o n 示例 輸入 100,4,200,1,3,2 輸出 4 解釋 最長連續序列是 1,2,3,4 它的長度為 4。複製 這道題目最開始大家想的肯定是sort,然後計數計算最長序列。但是要求時間複雜度為 o n 就不能用so...
LeetCode128 最長連續序列
原題目給定乙個未排序的整數陣列,找出最長連續序列的長度。要求演算法的時間複雜度為 o n 示例 輸入 100,4,200,1,3,2 輸出 4 解釋 最長連續序列是 1,2,3,4 它的長度為 4。題目分析 方法一 排序直接查詢法 先對陣列進行快排,然後從開始開始比較前後兩者是否相差1,相差1則計數...