給定乙個未排序的整數陣列,找出最長連續序列的長度。
要求演算法的時間複雜度為
o(n)
。示例:
[1, 2, 3, 4]。它的長度為 4。
思路:用乙個字典儲存中間值遍歷陣列,對於數字i,找到的i-1和i + 1的對應的值值,如果不存在則記為0。然後把我的值值設為i-1,i + 1個的值值之和,並加1,相當於連線起來。同時置最左端和最右端的數的值值為我的值值(中間的數都已經出現過,不會再用到了)。然後更新一次最大值。
**如下:
public class solution
while(set.contains(right))
max = math.max(max,count);
}return max;
}}
最長連續序列
題目 給定乙個未排序的整數陣列,找出最長連續序列的長度。例子 給出陣列 100,4,200,1,3,2 這個最長的連續序列是 1,2,3,4 返回所求長度 4。挑戰 要求你的演算法複雜度為o n 方法 將序列中的所有數存到乙個unordered set中。對於序列裡任意乙個數a i 我們可以通過se...
最長連續序列
給定乙個未排序的整數陣列,找出最長連續序列的長度。要求演算法的時間複雜度為 o n 示例 輸入 100,4,200,1,3,2 輸出 4 解釋 最長連續序列是 1,2,3,4 它的長度為 4。時間複雜度o n log n public intlongestconsecutive int nums a...
最長連續序列
題目 給定乙個未排序的整數陣列,找出最長連續序列的長度。要求演算法的時間複雜度為 o n 示例 輸入 100,4,200,1,3,2 輸出 4 解釋 最長連續序列是 1,2,3,4 它的長度為 4。只有當乙個數是連續序列的第乙個數的情況下才會進入內層迴圈,然後在內層迴圈中匹配連續序列中的數。if n...