美文网首页
40. LeetCode303. 区域和检索 - 数组不可变

40. LeetCode303. 区域和检索 - 数组不可变

作者: 月牙眼的楼下小黑 | 来源:发表于2018-10-07 20:56 被阅读52次
  • 标签: 动态规划
  • 难度: 简单

  • 题目描述
  • 我的解法

给定数组 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)
  • 其他解法

暂略。

相关文章

网友评论

      本文标题:40. LeetCode303. 区域和检索 - 数组不可变

      本文链接:https://www.haomeiwen.com/subject/ardraftx.html