정렬되지 않은 숫자 배열이 있다고 가정하고 연속 요소의 가장 긴 시퀀스의 길이를 찾아야 합니다.
따라서 입력이 nums =[70, 7, 50, 4, 6, 5]와 같으면 연속 요소의 가장 긴 시퀀스가 [4, 5, 6, 7]이므로 출력은 4가 됩니다. 그래서 우리는 길이를 반환합니다:4.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
nums :=nums의 모든 고유 요소
-
max_cnt :=0
-
숫자의 각 숫자에 대해 수행
-
숫자 - 1이 숫자가 아닌 경우
-
cnt :=0
-
num이 num에 있는 동안 수행
-
숫자 :=숫자 + 1
-
cnt :=cnt + 1
-
-
max_cnt :=max_cnt 및 cnt의 최대값
-
-
-
max_cnt 반환
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예시
class Solution: def solve(self, nums): nums = set(nums) max_cnt = 0 for num in nums: if num - 1 not in nums: cnt = 0 while num in nums: num += 1 cnt += 1 max_cnt = max(max_cnt, cnt) return max_cnt ob = Solution() nums = [70, 7, 50, 4, 6, 5] print(ob.solve(nums))
입력
[70, 7, 50, 4, 6, 5]
출력
4