## Description

https://leetcode.com/problems/can-make-arithmetic-progression-from-sequence/

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:trueExplanation: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:falseExplanation:There is no way to reorder the elements to obtain an arithmetic progression.

**Constraints:**

`2 <= arr.length <= 1000`

`-10^6 <= arr[i] <= 10^6`

## Explanation

Sort first. Then compare the differences between numbers.

## Python Solution

```
class Solution:
def canMakeArithmeticProgression(self, arr: List[int]) -> bool:
arr = sorted(arr)
diff = arr[1] - arr[0]
prev = arr[1]
for num in arr[2:]:
if num - prev != diff:
return False
prev = num
return True
```

- Time Complexity: O(NlogN).
- Space Complexity: O(1).