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
}
相关推荐
想吃火锅10056 小时前
【leetcode】238.除了自身以外数组的乘积js
javascript·算法·leetcode
Tisfy8 小时前
LeetCode 0020.有效的括号:栈匹配
算法·leetcode·字符串·题解·括号匹配
Navigator_Z8 小时前
LeetCode //C - 1276. Number of Burgers with No Waste of Ingredients
c语言·算法·leetcode
想吃火锅10059 小时前
【leetcode】189.轮转数组js
开发语言·javascript·leetcode
念何架构之路9 小时前
go-grpc服务端调用
开发语言·后端·golang
茉莉玫瑰花茶10 小时前
GO [ 单元测试 ]
golang·单元测试·log4j
All for pursuit.10 小时前
【贪心-2】253.会议室 II
数据结构·c++·算法·leetcode
喵了几个咪11 小时前
Go 写业务,Rust 扛底盘:一套可落地的混合架构
微服务·架构·golang·rust·多租户·gowind·rushwind
ttwuai11 小时前
Golang Web后台管理框架推荐:Gin、GoFrame与数据面板项目怎么分
前端·golang·gin
魏码不凡11 小时前
Go 编译报错:undefined: webp.Encode 问题排查与解决
开发语言·后端·golang