Golang | Leetcode Golang题解之第303题区域和检索-数组不可变

题目:

题解:

Go 复制代码
type NumArray struct {
    sums []int
}

func Constructor(nums []int) NumArray {
    sums := make([]int, len(nums)+1)
    for i, v := range nums {
        sums[i+1] = sums[i] + v
    }
    return NumArray{sums}
}

func (na *NumArray) SumRange(i, j int) int {
    return na.sums[j+1] - na.sums[i]
}
相关推荐
Achou.Wang17 小时前
Docker 多阶段构建:优化 Go 应用镜像大小的最佳实践
elasticsearch·docker·golang
进击的荆棘17 小时前
优选算法——哈希表
c++·算法·leetcode·哈希算法·散列表
khalil102018 小时前
代码随想录算法训练营Day-55 图论06 | 108.冗余连接、109.冗余连接II
c++·算法·leetcode·图论·并查集
进击的荆棘18 小时前
优选算法——字符串
开发语言·c++·算法·leetcode·字符串
XMYX-018 小时前
34 - Go 二进制处理(编码/解码)深度解析
开发语言·golang
Hesionberger18 小时前
LeetCode105:前序中序构建二叉树(三解法)
java·数据结构·python·算法·leetcode·深度优先
@小柯555m18 小时前
算法(移动零)
数据结构·算法·leetcode
我爱cope18 小时前
【力扣hot100:53. 最大子数组和】
算法·leetcode·职场和发展
恣艺18 小时前
用Go从零实现一个高性能KV存储引擎:B+Tree索引、WAL持久化、LRU缓存的工程实践
开发语言·数据库·redis·缓存·golang
Tisfy1 天前
LeetCode 2540.最小公共值:双指针(O(m+n))
算法·leetcode·题解·双指针