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
}
相关推荐
风筝在晴天搁浅2 小时前
快手 CodeTop LeetCode 224.基本计算器
数据结构·算法·leetcode
8Qi84 小时前
LeetCode 31:下一个排列(Next Permutation)—— 完整题解笔记 ✅
笔记·算法·leetcode·指针·思维·排列
玖釉-5 小时前
编辑距离(Edit Distance)——从字符串相似度到动态规划经典模型
算法·leetcode·动态规划
小小龙学IT5 小时前
Go语言后端开发入门指南
开发语言·后端·golang
_日拱一卒6 小时前
LeetCode:46全排列
算法·leetcode·职场和发展
剑挑星河月6 小时前
31.下一个排列
java·算法·leetcode
basketball6166 小时前
Go 语言从入门到进阶:6. 一文彻底吃透结构体(Struct)
开发语言·unity·golang
凌波粒6 小时前
LeetCode--98.验证二叉搜索树(二叉树)
算法·leetcode·职场和发展
Misnearch6 小时前
3635. 最早完成陆地和水上游乐设施的时间II
leetcode·贪心·排序
WWW65266 小时前
代码随想录 打卡第四十七天
数据结构·算法·leetcode