Prefix sum: involves storing sum/product upto each index for quick access/lookup for range queries
e.g. Product of Array Except Self
class Solution {
public int[] productExceptSelf(int[] nums) {
int a[] = new int[nums.length];
int b[] = new int[nums.length];
a[0] = nums[0];
b[nums.length-1] = nums[nums.length-1];
for(int i =1;i< nums.length;i++){
a[i] = a[i-1]*nums[i];
}
for(int i = nums.length-2;i>=0;i--){
b[i] = nums[i]*b[i+1];
}
System.out.println();
for(int i = 0;i< nums.length;i++){
nums[i] = (i-1 >=0 ? a[i-1] : 1) * (i+1 <=nums.length-1 ? b[i+1] : 1);
}
return nums;
}
}
Top comments (0)