128 最長連續序列

2021-10-06 21:35:30 字數 840 閱讀 2666

複雜度分析

時間複雜度:o(n),其中 n 為陣列的長度。

空間複雜度:o(n)。雜湊表儲存陣列中所有的數需要 o(n) 的空間。

題解:

class solution 

int next = val+1;

while (table.find(next) != table.end())

length = max(length, l);

}return length;}};

class solution  

while (map.find(next) != map.end())

ans = max(ans, next - pre - 1);}}

return ans;

}};

(1)unordered_map儲存存在的元素

(2)以begin為序列開頭,的序列的最大長度

class solution 

// 儲存存在的數字

std::unordered_maptable;

for(auto ite : nums)

int result = 0;

for(auto ite : nums)

// 以begin為序列開頭的最大長度

result = max(result, temp_result);}}

return result;}};

128 最長連續序列

題目 給定乙個未排序的整數陣列,找出最長連續序列的長度。要求演算法的時間複雜度為 o n 輸入 100,4,200,1,3,2 輸出 4 解釋 最長連續序列是 1,2,3,4 它的長度為 4。關鍵是使用雜湊表儲存。o n 複雜度 乙個序列為x,x 1,x 2,x y,那麼對於x 1,x 2,x y這...

128 最長連續序列

給定乙個未排序的整數陣列,找出最長連續序列的長度。要求演算法的時間複雜度為 o n 示例 輸入 100,4,200,1,3,2 輸出 4 解釋 最長連續序列是 1,2,3,4 它的長度為 4。思路 hash表 列舉,我們先用hash set儲存每乙個數,再遍歷每乙個數i為起始位置時,查詢是否存在i ...

128 最長連續序列

難度 困難 2020 6 6每日一題打卡 最近都昏昏沉沉的,不想好好學習,昨天的題拖到今天才寫,而且還看了答案 題目描述 解題思路 要求了演算法的時間複雜度,一般要求時間複雜度就用空間換時間,要求空間複雜度就用時間換空間 不過情況比較少見 所以用雜湊表來儲存陣列元素,能在o 1 時間內查詢 把所有的...