【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;
}
相关推荐
Fly Wine8 小时前
Leetcode之有效字母异位词
算法·leetcode·职场和发展
WalterJau8 小时前
C 内存分区
c语言
程序员夏末9 小时前
【LeetCode | 第七篇】算法笔记
笔记·算法·leetcode
csdn_aspnet10 小时前
C/C++ 两个凸多边形之间的切线(Tangents between two Convex Polygons)
c语言·c++·算法
数据皮皮侠10 小时前
中国城市间地理距离矩阵(2024)
大数据·数据库·人工智能·算法·制造
3GPP仿真实验室10 小时前
深度解析基站接收机核心算法:从 MRC 到 IRC 的空间滤波演进
算法
Boop_wu10 小时前
[Java 算法] 动态规划(1)
算法·动态规划
WolfGang00732110 小时前
代码随想录算法训练营 Day18 | 二叉树 part08
算法
hanlin0311 小时前
刷题笔记:力扣第43、67题(字符串计算)
笔记·算法·leetcode
yang_B62111 小时前
最小二乘法 拟合平面
算法·平面·最小二乘法