|  | @@ -0,0 +1,25 @@
 | 
	
		
			
				|  |  | +type NumArray struct {
 | 
	
		
			
				|  |  | +	sum []int
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func Constructor(nums []int) (numArr NumArray) {
 | 
	
		
			
				|  |  | +	n := len(nums)
 | 
	
		
			
				|  |  | +	numArr.sum = make([]int, n+1)
 | 
	
		
			
				|  |  | +	for i := 1; i <= n; i++ {
 | 
	
		
			
				|  |  | +		numArr.sum[i] = numArr.sum[i-1] + nums[i-1]
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +	return
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +func (this *NumArray) SumRange(i int, j int) int {
 | 
	
		
			
				|  |  | +	return this.sum[j+1] - this.sum[i]
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +/**
 | 
	
		
			
				|  |  | + * Your NumArray object will be instantiated and called as such:
 | 
	
		
			
				|  |  | + * obj := Constructor(nums);
 | 
	
		
			
				|  |  | + * param_1 := obj.SumRange(i,j);
 | 
	
		
			
				|  |  | + */
 |