假设我们有一个整数数组。我们必须找到最长的连续元素序列的长度。因此,如果输入类似于[100,4,250,1,3,2],则答案将为4,因为最长的连续序列为[1,2,3,4]。
为了解决这个问题,我们将遵循以下步骤-
设置数组,最长:= 0
对于我在范围数组中-
当前:= i,条纹:= 0
而我在-
我加1,连胜加1
最长:=最长和最长
如果i – 1不在-
返回最长
让我们看下面的实现以更好地理解-
class Solution(object): def longestConsecutive(self, a): a = set(a) longest = 0 for i in a: if i-1 not in a: current = i streak = 0 while i in a: i+=1 streak+=1 longest = max(longest,streak) return longest ob = Solution()print(ob.longestConsecutive([100,4,250,1,3,2]))
[100,4,250,1,3,2]
输出结果
4