-
Notifications
You must be signed in to change notification settings - Fork 2
/
1.py
31 lines (27 loc) · 1.06 KB
/
1.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 1502. Can Make Arithmetic Progression From Sequence
# User Accepted:6264
# User Tried:6356
# Total Accepted:6398
# Total Submissions:7832
# Difficulty:Easy
# Given an array of numbers arr. A sequence of numbers is called an arithmetic progression if the difference between any two consecutive elements is the same.
# Return true if the array can be rearranged to form an arithmetic progression, otherwise, return false.
# Example 1:
# Input: arr = [3,5,1]
# Output: true
# Explanation: We can reorder the elements as [1,3,5] or [5,3,1] with differences 2 and -2 respectively, between each consecutive elements.
# Example 2:
# Input: arr = [1,2,4]
# Output: false
# Explanation: There is no way to reorder the elements to obtain an arithmetic progression.
# Constraints:
# 2 <= arr.length <= 1000
# -10^6 <= arr[i] <= 10^6
class Solution:
def canMakeArithmeticProgression(self, arr: List[int]) -> bool:
arr.sort()
gap = arr[1] - arr[0]
for i in range(1, len(arr)):
if arr[i] - arr[i-1] != gap:
return False
return True