Calculating Subarray Sum Using Prefix Sum In O(1) Time Complexity
Calculate prefix sums in O(n) time, then use them to find subarray sums in O(1) time with NumArray class. Prefix[i] stores sum till ith index, making range sum calculation efficient.
Problem TC: O(n) for calculating the prefix sum and O(1) for getting the sum of the subarray in the range left and right class NumArray { int prefix[]; public NumArray(int[] nums) { prefix = new int[nums.length]; int currentSum =0; for(int i=0;i<nums.length;i++){ currentSum+=nums[i]; prefix[i] = currentSum; } } public int sumRange(int left, int right) { int rightSum = prefix[right]; int leftSum = (left>0) ? prefix[left-1]:0; return rightSum-leftSum; } } /** * Your NumArray object will be insta...