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

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

文章目录

  • 1. 题目信息
    • 1.1 题目描述
    • 1.2 测试用例
  • 2. 题目分析
    • 2.1 模拟计算
  • 3. 代码详情
    • 3.1 C++
      • 3.1.1 sort方法+模拟检查
    • 3.2 Python
  • 4. 系列文章

1. 题目信息

1.1 题目描述

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

[NEO解题报告]《Leetcode》1502. 判断能否形成等差数列_第1张图片

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. 系列文章

  • [NEO解题报告]《Leetcode》00 - 汇总

你可能感兴趣的:(#,Leetcode解题报告,leetcode,算法,动态规划)