【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;
}
相关推荐
yugi98783812 小时前
MFCC特征提取与SVM训练语音识别
算法·支持向量机·语音识别
yuanmenghao12 小时前
MSAC 算法详解以及与 RANSAC 对比示例
算法·自动驾驶·聚类·ransac·msac·系统辨识‘
造夢先森12 小时前
常见数据结构及算法
数据结构·算法·leetcode·贪心算法·动态规划
越努力^越幸运12 小时前
C中内存函数
c语言·开发语言
listhi52012 小时前
基于蒙特卡洛方法处理电力系统负荷不确定性的解决方案
算法
iAkuya12 小时前
(leetcode)力扣100 29删除链表的倒数第 N 个结点(双指针)
算法·leetcode·链表
@卞13 小时前
01_树的 dfs 序
算法·深度优先
isyoungboy13 小时前
洪水法实现Region RLE的fill_up算法
算法
2401_8414956413 小时前
自然语言处理实战——基于BP神经网络的命名实体识别
人工智能·python·神经网络·算法·机器学习·自然语言处理·命名实体识别
wjykp13 小时前
88~93感知机f
人工智能·算法