原題目:
思路:使用雜湊的方法,先把數字儲存起來。然後對雜湊表進行操作。
注意連續的子串行:x,x+1,x+2..........x+n。我們可以從兩端(x,x+n)查詢(這樣找到的是最長的
),這樣就避免了從中間查詢的時間浪費(這樣找到的長度不是最長的
)。為了節省時間,我們可以這樣有以下兩種操作:如果i-1不在雜湊表裡面就向上尋找。或者如果i+1不在雜湊表,就向下尋找。
**:
class solution
for(int i:nums)
}return ans;
}};
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則計數...