LC 0303 [E] Range Sum Query Immutable - ALawliet/algorithms GitHub Wiki
class NumArray:
def __init__(self, nums: List[int]):
self.preSum = nums
for i in range(len(nums)-1):
self.preSum[i+1] += self.preSum[i]
def sumRange(self, left: int, right: int) -> int:
if left == 0: return self.preSum[right]
return self.preSum[right] - self.preSum[left-1]
class NumArray(object):
def __init__(self, nums):
self.accu = [0]
for num in nums:
self.accu += self.accu[-1] + num,
def sumRange(self, i, j):
return self.accu[j + 1] - self.accu[i]
class NumArray:
def __init__(self, nums):
self.arr = [0] + list(accumulate(nums))
# self.arr = list(accumulate(nums, initial=0))
def sumRange(self, left, right):
return self.arr[right + 1] - self.arr[left]