정수 배열이 있다고 가정합니다. 가장 긴 연속 요소 시퀀스의 길이를 찾아야 합니다. 따라서 입력이 [100, 4, 250, 1, 3, 2]와 같으면 가장 긴 연속 시퀀스가 [1,2,3,4]이므로 응답은 4가 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
가장 긴 배열을 설정합니다 :=0
-
범위 배열의 i에 대해 -
-
i - 1이 -
에 없는 경우-
현재 :=i, 행진 :=0
-
나는 -
에 있는 동안-
i 1 증가, 연속 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