nums라는 숫자 목록이 있다고 가정하고 nums의 정렬된 버전에서 두 개의 연속된 숫자 중 가장 큰 차이를 찾아야 합니다.
따라서 입력이 [5, 2, 3, 9, 10, 11]과 같으면 5와 9 사이의 가장 큰 간격이 4이므로 출력은 4가 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- n :=정렬된 목록 번호
- ans :=새 목록
- 0에서 n -2 크기의 범위에 있는 i에 대해
- ns 끝에 n[i+1]-n[i] 삽입
- 최대값 반환
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예시
class Solution: def solve(self, nums): n = sorted(nums) ans = [] for i in range(len(n)-1): ans.append(n[i+1]-n[i]) return max(ans) ob = Solution() nums = [5, 2, 3, 9, 10, 11] print(ob.solve(nums))
입력
[5, 2, 3, 9, 10, 11]
출력
4