前言
新的一年,好好学习
正文
问题来源
本问题来自leetcode上的303题。
问题描述
给定一个整数数组 nums,求出数组从索引 i 到 j (i ≤ j) 范围内元素的总和,包含 i, j 两点。
示例 1:
给定 nums = [-2, 0, 3, -5, 2, -1],求和函数为 sumRange()
sumRange(0, 2) -> 1
sumRange(2, 5) -> -1
sumRange(0, 5) -> -3
分析:
type NumArray struct {
sum []int
}
func Constructor(nums []int) NumArray {
l := len(nums)
sN := NumArray{make([]int, l+1)}
for i := 1; i <= l; i++ {
sN.sum[i] = sN.sum[i-1] + nums[i-1]
}
return sN
}
func (this *NumArray) SumRange(i int, j int) int {
return this.sum[j+1] - this.sum[i]
}
总结:
勤思考。
结语
不管怎么样好好加油。