【題目描述】數組
【代碼思路】簡單動態規劃,因爲兩個限制,數組不可變和會屢次調用sumRange函數,須要新建一個數組去保存和。bash
【上代碼】函數
class NumArray(object):
def __init__(self, nums):
""" :type nums: List[int] """
self.sum_list=[0]
for i in range(len(nums)-1,-1,-1):
self.sum_list.insert(0,nums[i]+self.sum_list[0])
def sumRange(self, i, j):
""" :type i: int :type j: int :rtype: int """
return self.sum_list[i]-self.sum_list[j+1]
複製代碼
看效果,時間複雜度是線性的:ui