【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;
}
相关推荐
shangjian0071 小时前
AI大模型-评价指标-相关术语
人工智能·算法
Live&&learn2 小时前
算法训练-数据结构
数据结构·算法·leetcode
松岛雾奈.2304 小时前
机器学习--PCA降维算法
人工智能·算法·机器学习
电子_咸鱼4 小时前
【STL string 全解析:接口详解、测试实战与模拟实现】
开发语言·c++·vscode·python·算法·leetcode
sweet丶4 小时前
适合iOS开发的一种缓存策略YYCache库 的原理
算法·架构
哈茶真的c4 小时前
【书籍心得】左耳听风:传奇程序员练级攻略
java·c语言·python·go
是宇写的啊4 小时前
算法—滑动窗口
算法
风筝在晴天搁浅5 小时前
代码随想录 509.斐波那契数
数据结构·算法
落落落sss5 小时前
java实现排序
java·数据结构·算法
limenga1025 小时前
支持向量机(SVM)深度解析:理解最大间隔原理
算法·机器学习·支持向量机