leetcode303 Range Sum Query - Immutable

 1 """
 2 Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive.
 3 Example:
 4 Given nums = [-2, 0, 3, -5, 2, -1]
 5 sumRange(0, 2) -> 1
 6 sumRange(2, 5) -> -1
 7 sumRange(0, 5) -> -3
 8 """
 9 """
10 两种做法,第一种动态规划
11 第二种切片
12 """
13 class NumArray:
14 
15     def __init__(self, nums):
16         n = len(nums)
17         self.sum = [0]*(n+1)  #!!!self.的使用
18         for i in range(1, n+1):
19             self.sum[i] = self.sum[i-1] + nums[i-1] #!!!动态规划方程
20     def sumRange(self, i, j):
21         return self.sum[j+1]-self.sum[i]
22 
23 
24 class NumArray(object):
25 
26     def __init__(self, nums):
27         self.nums = nums  #!!!换成self
28 
29     def sumRange(self, i, j):
30         return sum(self.nums[i:j + 1])

猜你喜欢

转载自www.cnblogs.com/yawenw/p/12296294.html
今日推荐