[リートコード] 0128. 最長連続シーケンス

Python、C++、JavaScript、SQL、TypeScript の多様な LeetCode ソリューションを探索してください。面接の準備、学習、複数のプログラミング言語でのコードの練習に最適です。 Github リポジトリ リンク

中くらい

 


整列されていない整数の配列が与えられる 数字、 戻る 最も長い連続要素シーケンスの長さ。

で実行されるアルゴリズムを作成する必要があります。 の上) 時間。

例 1:

入力: 数値 = [100,4,200,1,3,2]
出力: 4
説明: 最も長い連続要素シーケンスは [1, 2, 3, 4]したがって、その長さは 4 です。

例 2:

入力: 数字 = [0,3,7,2,5,8,4,6,0,1]
出力: 9

制約:

  • 0 <= 数値の長さ <= 10 5
  • -10 9 <= nums[i] <= 10 9

パイソン

				
					type から import List クラス 解決策: def longestConsecutive(self, nums: List[int]) -> int: longestStreak = 0 numSet = set(nums) for num in nums: if num - 1 not in numSet: currentNum = num currentStreak = 1 while currentNum + 1 in numSet: currentNum += 1 currentStreak += 1 longestStreak = max(longestStreak, currentStreak) return longestStreak
				
			
ja日本語