複雜度分析
時間複雜度: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;}};
(1)unordered_map儲存存在的元素class solution
while (map.find(next) != map.end())
ans = max(ans, next - pre - 1);}}
return ans;
}};
(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 時間內查詢 把所有的...