C语言 | Leetcode C语言题解之第413题等差数列划分

题目:

题解:

cpp 复制代码
int numberOfArithmeticSlices(int* nums, int numsSize) {
    if (numsSize == 1) {
        return 0;
    }

    int d = nums[0] - nums[1], t = 0;
    int ans = 0;
    // 因为等差数列的长度至少为 3,所以可以从 i=2 开始枚举
    for (int i = 2; i < numsSize; ++i) {
        if (nums[i - 1] - nums[i] == d) {
            ++t;
        } else {
            d = nums[i - 1] - nums[i];
            t = 0;
        }
        ans += t;
    }
    return ans;
}
相关推荐
想吃火锅100519 小时前
【leetcode】54. 螺旋矩阵
算法·leetcode·矩阵
wuminyu19 小时前
JVM利用io_uring优化堆外内存性能原理剖析
java·linux·c语言·jvm·c++
想吃火锅100519 小时前
【leetcode】300. 最长递增子序列
算法·leetcode·职场和发展
小龙报1 天前
【优选算法】1.搜索插入位置 2.x的平方根
java·c语言·数据结构·c++·python·算法·蓝桥杯
Hi李耶1 天前
【LeetCode】15.三数之和
java·算法·leetcode
rannn_1111 天前
【力扣hot100】链表专题|21、2、19、24、92、25
java·数据结构·算法·leetcode·链表·开发
SNAKEpc121381 天前
OpenGL(十五)- 着色器语言GLSL
c语言·c++·线性代数·算法·矩阵·图形渲染·着色器
鹿角片ljp1 天前
LeetCode 21. 合并两个有序链表
算法·leetcode·链表
Rabitebla1 天前
C++11 新特性详解(一):列表初始化、initializer_list 与右值引用
java·开发语言·数据结构·c++·算法·leetcode·list
evans在进步1 天前
LeetCode 39:组合总和——Java DFS 回溯与剪枝详解
java·leetcode·深度优先