File tree Expand file tree Collapse file tree 2 files changed +69
-0
lines changed
#303. Range Sum Query - Immutable Expand file tree Collapse file tree 2 files changed +69
-0
lines changed Original file line number Diff line number Diff line change 1+ /*
2+ * @Author: Goog Tech
3+ * @Date: 2020-09-15 15:07:30
4+ * @LastEditTime: 2020-09-15 15:11:43
5+ * @Description: https://leetcode-cn.com/problems/range-sum-query-immutable/
6+ * @FilePath: \leetcode-googtech\#303. Range Sum Query - Immutable\Solution.java
7+ * @Reference: https://leetcode-cn.com/problems/range-sum-query-immutable/solution/marveljian-dan-de-xue-xi-bi-ji-303-by-tyanyonecanc/
8+ * @WebSite: https://algorithm.show/
9+ */
10+
11+ class NumArray {
12+
13+ private int [] sum ;
14+
15+ // DP : 动态规划
16+ public NumArray (int [] nums ) {
17+ sum = Arrays .copyOf (nums , nums .length );
18+ for (int i = 1 ; i < sum .length ; i ++) {
19+ // sum[i] 的值为 sum[0] 到 sum[i] 的所有值之和
20+ sum [i ] += sum [i - 1 ];
21+ }
22+ }
23+
24+ public int sumRange (int i , int j ) {
25+ return (i == 0 ) ? sum [j ] : (sum [j ] - sum [i - 1 ]);
26+ }
27+ }
28+
29+ /**
30+ * Your NumArray object will be instantiated and called as such:
31+ * NumArray obj = new NumArray(nums);
32+ * int param_1 = obj.sumRange(i,j);
33+ */
Original file line number Diff line number Diff line change 1+ '''
2+ Author: Goog Tech
3+ Date: 2020-09-15 15:07:34
4+ LastEditTime: 2020-09-15 15:08:56
5+ Description: https://leetcode-cn.com/problems/range-sum-query-immutable/
6+ FilePath: \leetcode-googtech\#303. Range Sum Query - Immutable\Solution.py
7+ Reference: https://leetcode-cn.com/problems/range-sum-query-immutable/solution/marveljian-dan-de-xue-xi-bi-ji-303-by-tyanyonecanc/
8+ WebSite: https://algorithm.show/
9+ '''
10+
11+ class NumArray (object ):
12+
13+ # DP : 动态规划
14+ def __init__ (self , nums ):
15+ """
16+ :type nums: List[int]
17+ """
18+ if not nums : return
19+ self .result = [0 ] * len (nums )
20+ self .result [0 ] = nums [0 ]
21+ for i in range (1 , len (nums )):
22+ # result[i] 的值为 nums[0] 到 nums[i] 的所有值之和
23+ self .result [i ] = self .result [i - 1 ] + nums [i ]
24+
25+ def sumRange (self , i , j ):
26+ """
27+ :type i: int
28+ :type j: int
29+ :rtype: int
30+ """
31+ if i == 0 : return self .result [j ]
32+ else : return self .result [j ] - self .result [i - 1 ]
33+
34+ # Your NumArray object will be instantiated and called as such:
35+ # obj = NumArray(nums)
36+ # param_1 = obj.sumRange(i,j)
You can’t perform that action at this time.
0 commit comments