1. /**
    2. * @param {number[]} nums
    3. */
    4. var NumArray = function(nums) {
    5. this.preSum = [0]
    6. for(let i = 1; i <= nums.length; i++) {
    7. this.preSum[i] = this.preSum[i - 1] + nums[i - 1]
    8. }
    9. };
    10. /**
    11. * @param {number} left
    12. * @param {number} right
    13. * @return {number}
    14. */
    15. NumArray.prototype.sumRange = function(left, right) {
    16. // 前缀和, sumRange(i, j) = preSum[j] - preSum[i - 1]
    17. return this.preSum[right + 1] - this.preSum[left]
    18. };
    19. /**
    20. * Your NumArray object will be instantiated and called as such:
    21. * var obj = new NumArray(nums)
    22. * var param_1 = obj.sumRange(left,right)
    23. */