Conclusion for Subarray Problems:
- use prefix sum pointers/variables. Preserve the most useful/relevant prefix sum up to date
- use prefix sum array. Either single value for one pass, or prefix sum arrays
- if required time complexity is O(n) for finding array value correspondences, use hashmap
- Use queue if requiring subarray sum == or close to some value k