# 1502\. Can Make Arithmetic Progression From Sequence
```python=
class Solution:
def canMakeArithmeticProgression(self, arr: List[int]) -> bool:
arr.sort()
tmp=None
for a,b in zip(arr,arr[1:]):
if tmp==None:
tmp=a-b
else:
if tmp!=a-b:
return False
return True
"""
https://leetcode.com/problems/can-make-arithmetic-progression-from-sequence/discuss/720200/Clean-Python-3-O(N)
"""
class Solution:
def canMakeArithmeticProgression(self, arr: List[int]) -> bool:
m = min(arr)
gap = (max(arr) - m) / (len(arr) - 1)
if gap == 0:
return True
s = set(num - m for num in arr)
return len(s) == len(arr) and all(diff % gap == 0 for diff in s)
class Solution:
def canMakeArithmeticProgression(self, arr: List[int]) -> bool:
set_arr = set(arr)
if len(set_arr) == 1:
return True
if len(set_arr) != len(arr):
return False
start = min(arr)
end = max(arr)
diff = (end - start) // (len(arr) - 1)
current = start
for _ in range(len(arr) - 1):
current += diff
if current not in set_arr:
return False
return True
```