【C语言刷力扣】1502.判断能否形成等差数列

题目:

解题思路;

先对数组进行升序排序,再用循环对比两相邻元素之间的差值。若出现不同,即不是等差数列。

时间复杂度:

空间复杂度:

复制代码
int compare(const void* a, const void* b) {
    return (*(int *)b - *(int *)a);
}

bool canMakeArithmeticProgression(int* arr, int arrSize) {
    qsort(arr, arrSize, sizeof(int), compare);
    long long int k = arr[1] - arr[0];
    for (int i = 2; i < arrSize; i++) {
        if (arr[i] - arr[i - 1] != k) return false;
    }
    return true;
}
相关推荐
澈2072 小时前
C++并查集:高效解决连通性问题
java·c++·算法
旖-旎3 小时前
深搜练习(单词搜索)(12)
c++·算法·深度优先·力扣
企客宝CRM4 小时前
2026年中小企业CRM选型指南:企客宝CRM处于什么位置?
android·算法·企业微信·rxjava·crm
橙淮4 小时前
二叉树核心概念与Java实现详解
数据结构·算法
米罗篮5 小时前
DSU并查集 & 拓展欧几里得-逆元
c++·经验分享·笔记·算法·青少年编程
橙淮5 小时前
双指针法:高效算法解题的利器
算法
初心未改HD5 小时前
深度学习之MLP与反向传播算法详解
人工智能·深度学习·算法
刀法如飞5 小时前
【Go 字符串查找的 20 种实现方式,用不同思路解决问题】
人工智能·算法·go
技术小黑7 小时前
CNN算法实战系列03 | DenseNet121算法实战与解析
pytorch·深度学习·算法·cnn