1502. 判断能否形成等差数列 #
- 标签:数组、排序
- 难度:简单
题目大意 #
描述:给定一个数字数组 arr
。如果一个数列中,任意相邻两项的差总等于同一个常数,那么这个数序就称为等差数列。
要求:如果数组 arr
通过重新排列可以形成等差数列,则返回 True
;否则返回 False
。
说明:
- $2 \le arr.length \le 1000$
- $-10^6 \le arr[i] \le 10^6$
示例:
- 示例 1:
|
|
解题思路 #
思路 1: #
- 如果数组元素个数小于等于
2
,则数组肯定可以形成等差数列,直接返回True
。 - 对数组进行排序。
- 从下标为
2
的元素开始,遍历相邻的3
个元素arr[i]
、arr[i - 1]
、arr[i - 2]
。判断arr[i] - arr[i - 1]
是否等于arr[i - 1] - arr[i - 2]
。如果不等于,则数组无法形成等差数列,返回False
。 - 如果遍历完数组,则说明数组可以形成等差数列,返回
True
。
代码 #
思路 1 代码: #
|
|