Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive.
Key is the calculation efficiency.
'''
class NumArray1(object):
#1088 ms, 15.3 MB
def __init__(self, nums):
"""
:type nums: List[int]
"""
self.nums = nums
def sumRange(self, i, j):
"""
:type i: int
:type j: int
:rtype: int
"""
return sum(self.nums[i:j+1])
# Your NumArray object will be instantiated and called as such:
# obj = NumArray(nums)
# param_1 = obj.sumRange(i,j)
class NumArray(object):
#144ms, 15.3MB
def __init__(self, nums):
"""
:type nums: List[int]
"""
self.list = []
total = 0
for i in nums:
total += i
self.list.append(total)
def sumRange(self, i, j):
"""
:type i: int
:type j: int
:rtype: int
"""
if i == 0:
return self.list[j]
else:
return self.list[j] - self.list[i-1]
No comments:
Post a Comment