Leetcode 128 最長連續序列(困難)

2021-10-06 22:48:50 字數 560 閱讀 9536

目錄

題目描述:

解題思路:

**: 

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

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

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

輸出: 4

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

已知乙個無序序列,求最長連續序列的長度,肯定先排序,那排序的演算法可以直接呼叫庫函式的sort函式。在排序完了以後遍歷,如果( a[i]==a[i-1]+1 ),那麼長度加一。

坑點:1.同樣的數字不++,序列:5 6 6 7 7 8,最長連續序列長度是4,而非6

class solution 

//無序變有序

sort(nums.begin(),nums.end());

//找出最大

int temp=1;

int max=1;

for(int i = 1;i=temp? max:temp;

}};

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則計數...