【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;
}
相关推荐
灵智实验室9 小时前
PX4位置速度估计技术详解(四):LPE 激光雷达高度融合的实现错误
算法·无人机·px 4
CQU_JIAKE9 小时前
【A】3742,3387,并查集
算法
gihigo19989 小时前
CHAN时延估计算法(二维/三维定位实现)
算法
freexyn9 小时前
Matlab自学笔记七十六:表达式的展开、因式分解、化简、合并同类项
笔记·算法·matlab
样例过了就是过了9 小时前
LeetCode热题 不同路径
c++·算法·leetcode·动态规划
dog25010 小时前
圆锥曲线和二次曲线
开发语言·网络·人工智能·算法·php
Wadli10 小时前
27.单调队列
算法
Navigator_Z10 小时前
LeetCode //C - 1031. Maximum Sum of Two Non-Overlapping Subarrays
c语言·算法·leetcode
Wect10 小时前
LeetCode 97. 交错字符串:动态规划详解
前端·算法·typescript
爱学习的张大11 小时前
具身智能论文问答(三):Open VLA
人工智能·算法