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
}
相关推荐
像风一样自由20202 分钟前
Rust Tokio vs Go net/http:云原生与嵌入式生态选型指南
开发语言·golang·rust
而后笑面对5 分钟前
力扣2025.10.19每日一题
算法·leetcode·职场和发展
·白小白22 分钟前
力扣(LeetCode) ——11.盛水最多的容器(C++)
c++·算法·leetcode
道之极万物灭26 分钟前
Go小工具合集
开发语言·后端·golang
不会写DN3 小时前
用户头像文件存储功能是如何实现的?
java·linux·后端·golang·node.js·github
玩镜的码农小师兄4 小时前
[从零开始面试算法] (04/100) LeetCode 136. 只出现一次的数字:哈希表与位运算的巅峰对决
c++·算法·leetcode·面试·位运算·hot100
earthzhang202111 小时前
第3讲:Go垃圾回收机制与性能优化
开发语言·jvm·数据结构·后端·性能优化·golang
apocelipes12 小时前
golang unique包和字符串内部化
java·python·性能优化·golang
驰羽14 小时前
[GO]GORM 常用 Tag 速查手册
开发语言·后端·golang
无敌最俊朗@15 小时前
数组-力扣hot56-合并区间
数据结构·算法·leetcode