29 最長連續序列

2021-09-25 18:59:56 字數 1075 閱讀 3338

題目描述:

給定乙個未排序的整數陣列,找出最長連續序列的長度。

要求演算法的時間複雜度為 o(n)。

示例:輸入: [100, 4, 200, 1, 3, 2]

輸出: 4

解釋: 最長連續序列是 [1, 2, 3, 4]。它的長度為 4。、

emm投機取巧的方法,注意的是判斷重複的情況,比如:0,1,1,2,3為4而不是4,這點需要注意一下

class solution 

arrays.sort(nums);

int len = 1;

for (int i = 0; i < nums.length; i++)

if(pre + 1 != nums[j] )else

}len = math.max(len, j - i + tem);

i = j - 1;

} return len; }}

感覺效率還行,但是這個無腦

借鑑這個思路啦

自己嘗試實現

class solution 

int longgest = 1;

setset = new hashset<>();

for (integer integer : nums)

for (integer integer : nums)

temlogest = tem - integer + 1;

integer = tem;

while (set.remove(integer + 1))

temlogest += integer - tem;

longgest = math.max(longgest, temlogest);

}} return longgest;}}

最長連續序列

題目 給定乙個未排序的整數陣列,找出最長連續序列的長度。例子 給出陣列 100,4,200,1,3,2 這個最長的連續序列是 1,2,3,4 返回所求長度 4。挑戰 要求你的演算法複雜度為o n 方法 將序列中的所有數存到乙個unordered set中。對於序列裡任意乙個數a i 我們可以通過se...

最長連續序列

給定乙個未排序的整數陣列,找出最長連續序列的長度。要求演算法的時間複雜度為 o n 示例 1,2,3,4 它的長度為 4。思路 用乙個字典儲存中間值遍歷陣列,對於數字i,找到的i 1和i 1的對應的值值,如果不存在則記為0。然後把我的值值設為i 1,i 1個的值值之和,並加1,相當於連線起來。同時置...

最長連續序列

給定乙個未排序的整數陣列,找出最長連續序列的長度。要求演算法的時間複雜度為 o n 示例 輸入 100,4,200,1,3,2 輸出 4 解釋 最長連續序列是 1,2,3,4 它的長度為 4。時間複雜度o n log n public intlongestconsecutive int nums a...