nums라는 숫자 목록이 있다고 가정합니다. nums에 존재하는 요소가 AP 시리즈를 구성하고 있는지 확인해야 합니다. AP(Arithmetic Progression) 시리즈에서 알 수 있듯이 연속된 두 요소의 공통적인 차이는 동일합니다.
따라서 입력이 nums =[9,1,17,5,13]과 같으면 출력은 True가 됩니다. 정렬하면 [1,5,9,13,17]이고 여기서는 공통이기 때문입니다. 차이는 각 요소 쌍에 대해 4입니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
-
nums :=목록 숫자 정렬
-
nums의 요소 수가 1보다 크면
-
상수 :=숫자[1] - 숫자[0]
-
-
그렇지 않으면
-
참을 반환
-
-
범위 0에서 숫자 -1 크기의 i에 대해 수행
-
nums[i+1] - nums[i]가 const와 같지 않으면
-
거짓을 반환
-
-
-
참을 반환
예제(파이썬)
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
def solve(nums): nums = sorted(nums) if len(nums) > 1: const = nums[1] - nums[0] else: return True for i in range(len(nums)-1): if nums[i+1] - nums[i] != const: return False return True nums = [9,1,17,5,13] print(solve(nums))
입력
[9,1,17,5,13]
출력
True