- [NEO解题报告]《Leetcode》1502. 判断能否形成等差数列 – ⭐
文章目录
1. 题目信息
1.1 题目描述
题目链接: https://leetcode-cn.com/problems/can-make-arithmetic-progression-from-sequence/
1.2 测试用例
输入:arr = [3,5,1]
输出:true
解释:对数组重新排序得到 [1,3,5] 或者 [5,3,1] ,任意相邻两项的差分别为 2 或 -2 ,可以形成等差数列。
2. 题目分析
2.1 模拟计算
通过前两个数获取等差diff, 比较后面的是否满足要求即可;
3. 代码详情
3.1 C++
3.1.1 sort方法+模拟检查
//
class Solution {
public:
bool canMakeArithmeticProgression(vector<int>& arr) {
sort(arr.begin(), arr.end());
int diff = arr[1] - arr[0];
for (int i = 2; i < arr.size(); i++) {
if (arr[i] - arr[i-1] != diff) {
return false;
}
}
return true;
}
};
3.2 Python
- todo