package com.leetcode;
import java.util.HashMap;
public class RangeSumQueryImmutable {
//https://leetcode.com/problems/range-sum-query-immutable/
class NumArray {
//[-2, 0, 3, -5, 2, -1]
//[-2,-2, 1, -4,-2, -1]
HashMap indexSum;
int[] nums;//original
public NumArray(int[] nums) {
this.nums = nums;
indexSum = new HashMap();
int n = nums.length;
int sum = 0;
for(int i=0 ;i< n ; i++){
sum += nums[i];
indexSum.put(i,sum);
}
}
public int sumRange(int i, int j) {
int val1 = indexSum.get(i);
int val2 = indexSum.get(j);
return (val2 - val1) + nums[i]; // add nums[i] as val1 is subtracting it
}
}
}