Golang | Leetcode Golang题解之第413题等差数列划分

题目:

题解:

Go 复制代码
func numberOfArithmeticSlices(nums []int) (ans int) {
    n := len(nums)
    if n == 1 {
        return
    }

    d, t := nums[0]-nums[1], 0
    // 因为等差数列的长度至少为 3,所以可以从 i=2 开始枚举
    for i := 2; i < n; i++ {
        if nums[i-1]-nums[i] == d {
            t++
        } else {
            d, t = nums[i-1]-nums[i], 0
        }
        ans += t
    }
    return
}
相关推荐
xwz小王子1 小时前
智元发布 GO-2:动作空间推理 + 全生命周期闭环,让机器人稳定可靠落地
开发语言·golang·机器人
GDAL1 小时前
Go Channel `make()` 深入全面讲解
golang·make·通道
_深海凉_1 小时前
LeetCode热题100- 字母异位词分组
leetcode
洛水水1 小时前
【力扣100题】14.两数相加
c++·算法·leetcode
float_com1 小时前
LeetCode80. 删除有序数组中的重复项 II
leetcode
pwn蒸鱼1 小时前
leetcode:21. 合并两个有序链表
算法·leetcode·链表
洛水水1 小时前
【力扣100题】15.删除链表的倒数第 N 个结点
算法·leetcode·链表
wfbcg1 小时前
每日算法练习:LeetCode 3. 无重复字符的最长子串 ✅
算法·leetcode·职场和发展
_日拱一卒1 小时前
LeetCode:矩阵置零
java·数据结构·线性代数·算法·leetcode·职场和发展·矩阵
穿条秋裤到处跑1 小时前
每日一道leetcode(2026.04.10):三个相等元素之间的最小距离 I
算法·leetcode