303. Range Sum Query - Immutable

Given an integer array nums, find the sum of the elements between indices i and j (ij), inclusive.

给定整数数组nums,找到索引i和j(i≤j)之间的元素之和。

Example:

Given nums = [-2, 0, 3, -5, 2, -1]

sumRange(0, 2) -> 1
sumRange(2, 5) -> -1
sumRange(0, 5) -> -3

例: 给定nums = [-2,0,3,-5,2,-1]

sumRange(0,2) - > 1 sumRange(2,5) - > -1 sumRange(0,5) - > -3

Note:

  1. You may assume that the array does not change.
  2. There are many calls to sumRange function.

注意: 您可以假设阵列不会更改。 sumRange函数有很多调用。

python实践

#!/usr/bin/env python
# _*_ coding:utf-8 _*_

class NumArray:
    def __init__(self, nums):
        self.sums =[0]*(len(nums)+1)
        # 求解第一个元素到该元素的和
        for i in range(len(nums)):
            self.sums[i+1] = self.sums[i] + nums[i]

    def sumRange(self, i: int, j: int) -> int:

    # Your NumArray object will be instantiated and called as such:
    # obj = NumArray(nums)
    # param_1 = obj.sumRange(i,j)
        return self.sums[j+1] - self.sums[i]

if __name__ == '__main__':
    nums =  [-2, 0, 3, -5, 2, -1]
    print(NumArray(nums).sumRange(0, 2))

参考网址

打赏一个呗

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦