-
标签:
动态规划 -
难度:
简单
- 题目描述
- 我的解法
给定数组 nums, 将每个元素更新为其左端所有元素和自身之和,获得 nums_sum, 那么要求原始 nums 的任意连续子序列的元素和, 只要 nums_sum 对应区间的两个端点进行相减即可。本题扩展到二维矩阵上,就是积分图的思想了。
class NumArray(object):
def __init__(self, nums):
"""
:type nums: List[int]
"""
self.nums = nums
i = 1
while(i < len(nums)):
self.nums[i] += self.nums[i - 1]
i += 1
def sumRange(self, i, j):
"""
:type i: int
:type j: int
:rtype: int
"""
if i == 0:
return self.nums[j]
else:
return self.nums[j] - self.nums[i-1]
# Your NumArray object will be instantiated and called as such:
# obj = NumArray(nums)
# param_1 = obj.sumRange(i,j)
- 其他解法
暂略。












网友评论