每日一道算法題--leetcode 303-- 區域和檢索- 數組不可變(動態規劃) --python

【題目描述】數組

【代碼思路】

簡單動態規劃,因爲兩個限制,數組不可變和會屢次調用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

相關文章
相關標籤/搜索