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
}
相关推荐
bruce_哈哈哈10 分钟前
go语言初认识
开发语言·后端·golang
云里雾里!31 分钟前
LeetCode 744. 寻找比目标字母大的最小字母 | 从低效到最优的二分解法优化
算法·leetcode
moxiaoran57531 小时前
Go语言的接口
开发语言·后端·golang
Tisfy1 小时前
LeetCode 0865.具有所有最深节点的最小子树:深度优先搜索(一次DFS + Python5行)
算法·leetcode·深度优先·dfs·题解
浮尘笔记1 小时前
Go语言中的同步等待组和单例模式:sync.WaitGroup和sync.Once
开发语言·后端·单例模式·golang
Q741_1471 小时前
C++ 队列 宽度优先搜索 BFS 力扣 429. N 叉树的层序遍历 C++ 每日一题
c++·算法·leetcode·bfs·宽度优先
多米Domi0111 小时前
0x3f 第25天 黑马web (145-167)hot100链表
数据结构·python·算法·leetcode·链表
LYFlied1 小时前
【每日算法】LeetCode 207. 课程表
算法·leetcode·职场和发展
一起养小猫2 小时前
LeetCode100天Day12-删除重复项与删除重复项II
java·数据结构·算法·leetcode
Grassto2 小时前
从 `go build` 开始:Go 第三方包加载流程源码导读
golang·go·go module