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;
}
相关推荐
菜鸟233号4 分钟前
力扣513 找树左下角的值 java实现
java·数据结构·算法·leetcode
leoufung7 分钟前
LeetCode 22:Generate Parentheses 题解(DFS / 回溯)
算法·leetcode·深度优先
FMRbpm27 分钟前
队列练习--------最近的请求次数(LeetCode 933)
数据结构·c++·leetcode·新手入门
无限进步_2 小时前
深入理解 C/C++ 内存管理:从内存布局到动态分配
c语言·c++·windows·git·算法·github·visual studio
长安er2 小时前
LeetCode 34排序数组中查找元素的第一个和最后一个位置-二分查找
数据结构·算法·leetcode·二分查找·力扣
CoderYanger3 小时前
动态规划算法-两个数组的dp(含字符串数组):48.最长重复子数组
java·算法·leetcode·动态规划·1024程序员节
liu****3 小时前
9.二叉树(一)
c语言·开发语言·数据结构·算法·链表
sin_hielo3 小时前
leetcode 3577
数据结构·算法·leetcode
铁手飞鹰4 小时前
[HAL库分析—GPIO]
c语言·stm32·单片机·嵌入式硬件
水饺编程4 小时前
第3章,[标签 Win32] :处理 WM_PRINT 消息
c语言·c++·windows·visual studio