【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;
}
相关推荐
shehuiyuelaiyuehao19 分钟前
算法32,连续数组,前缀和+哈希表
算法·leetcode·职场和发展
程序员贺加贝36 分钟前
报表大 IN 优化:一条 product_profile 超大 IN SQL 背后的报表任务治理
算法·性能优化
知无不研1 小时前
std::function在使用时遇到的问题
c++·算法·st·function
薛定e的猫咪1 小时前
(IEEE Transactions 2025)自适应元强化学习动态柔性作业车间调度框架
网络·人工智能·算法
码场老菜鸟1 小时前
C++ 指针的深度理解与应用
java·c++·算法
fpcc2 小时前
数据结构和算法—最短路径的算法
数据结构·算法
茉莉玫瑰花茶2 小时前
RAG 数据检索
人工智能·算法·机器学习
老当益壮梁奶奶2 小时前
Linux软件编程学习笔记(十一):深入浅出 TCP 协议与 Socket 编程实践
linux·c语言·笔记·学习·tcp/ip
speop2 小时前
hell-gpu| TASK01-2
linux·运维·算法
Navigator_Z3 小时前
LeetCode //C - 1223. Dice Roll Simulation
c语言·算法·leetcode