题目链接:https://leetcode.com/problems/range-sum-query-immutable/ 题目:
Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive.
Example:
Given nums = [-2, 0, 3, -5, 2, -1]
sumRange(0, 2) -> 1
sumRange(2, 5) -> -1
sumRange(0, 5) -> -3
Note:
- You may assume that the array does not change.
- There are many calls to sumRange function.
算法:
1. public class NumArray {
2. int nums[];
3. int sums[];
4.
5. public NumArray(int[] nums) {
6. this.nums = nums;
7. if (nums != null && nums.length != 0) {
8. this.sums = new int[nums.length];
9. 0] = nums[0];
10. for (int i = 1; i < sums.length; i++) {
11. 1] + nums[i];
12. }
13. }
14. }
15.
16. public int sumRange(int i, int j) {
17. int sum = sums[j] - sums[i] + nums[i];
18. return sum;
19. }
20. }