[NEO解题报告]《Leetcode》1502. 判断能否形成等差数列

  • [NEO解题报告]《Leetcode》1502. 判断能否形成等差数列 – ⭐

文章目录

1. 题目信息

1.1 题目描述

题目链接: https://leetcode-cn.com/problems/can-make-arithmetic-progression-from-sequence/

[NEO解题报告]《Leetcode》1502. 判断能否形成等差数列

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

4. 系列文章

上一篇:我的第31个代码


下一篇:C语言课程心得(四)