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

本文介绍了LeetCode上的第1502题,题目要求判断给定数组是否能通过排序形成等差数列。文章提供了一个C++解决方案,利用排序和模拟检查方法来判断。测试用例包括输入数组[3, 5, 1],输出为true,因为可以排序得到等差数列。
摘要由CSDN通过智能技术生成
  • [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

4. 系列文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逸云沙鸥のIHave@Dream

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值