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;
}
相关推荐
Soari10 分钟前
llama.cpp更新(b9553):LLM inference in C/C++,本地和云端实现高性能大模型推理
c语言·c++·llama
2601_9611940219 分钟前
考研资料电子版|去哪找|网盘
java·c语言·c++·python·考研·php
十月的皮皮1 小时前
C语言学习笔记202606008- 三角形判断(3种方法)
c语言·笔记·学习
小欣加油1 小时前
leetcode2161 根据给定数字划分数组
数据结构·c++·算法·leetcode·职场和发展
cpp_25011 小时前
P2947 [USACO09MAR] Look Up S
数据结构·c++·算法·题解·单调栈·洛谷
8Qi82 小时前
LeetCode 115 & 392:不同子序列 / 判断子序列
算法·leetcode·职场和发展·动态规划
圣保罗的大教堂3 小时前
leetcode 2161. 根据给定数字划分数组 中等
leetcode
c++之路4 小时前
C/C++ 全链路编译工具汇总
c语言·开发语言·c++
8Qi84 小时前
LeetCode 72:编辑距离(Edit Distance)—— 题解
算法·leetcode·职场和发展·动态规划
8Qi84 小时前
LeetCode 583. 两个字符串的删除操作
算法·leetcode·职场和发展·动态规划