type NumArray struct {
data []int
}
func Constructor(nums []int) NumArray {
a := NumArray{data: nums}
return a
}
func (this *NumArray) SumRange(i int, j int) int {
var sum int
for ; i <= j; i++ {
sum += this.data[i]
}
return sum
}
/**
* @param {number[]} nums
*/
var NumArray = function (nums) {
this.sum = [0]
for (let i = 0; i < nums.length; i++) {
this.sum[i + 1] = this.sum[i] + nums[i]
}
};
/**
* @param {number} i
* @param {number} j
* @return {number}
*/
NumArray.prototype.sumRange = function (i, j) {
return this.sum[j + 1] - this.sum[i]
};
type NumArray struct {
data []int
}
func Constructor(nums []int) NumArray {
sum := make([]int, len(nums)+1)
for i := 0; i < len(nums); i++ {
sum[i+1] = sum[i] + nums[i]
}
return NumArray{data: sum}
}
func (this *NumArray) SumRange(i int, j int) int {
return this.data[j+1] - this.data[i]
}
const test = function () {
var obj = new NumArray([-2, 0, 3, -5, 2, -1])
var param_1 = obj.sumRange(0, 2)
console.log('param_1', param_1);
var param_2 = obj.sumRange(2, 5)
console.log('param_2', param_2);
var param_3 = obj.sumRange(0, 5)
console.log('param_3', param_3);
}