解法一

考虑数组长度小于等于2的边界情况,返回true。
对数组进行升序排序,依次判断相邻两数之间的差是否相等,如有不相等的情况返回false,否则返回true。

  1. import java.util.Arrays;
  2. class Solution {
  3. public boolean canMakeArithmeticProgression(int[] arr) {
  4. if (arr.length <= 2) {
  5. return true;
  6. }
  7. Arrays.sort(arr);
  8. boolean flag = true;
  9. int delta = arr[1] - arr[0];
  10. for (int i = 2; i < arr.length; ++i) {
  11. if ((arr[i] - arr[i - 1]) != delta) {
  12. flag = false;
  13. break;
  14. }
  15. }
  16. return flag;
  17. }
  18. }