Maximum Number of Non-Overlapping Subarrays With Sum Equals Target LeetCode solution in C++
1class Solution {2public:3unordered_map<int, int> mpp;4int maxNonOverlapping(vector<int> &nums, int target) {5int sum = 0, ways = 0, prev = INT_MIN;6mpp[0] = -1;7for (int i = 0; i < nums.size(); ++i) {8sum += nums[i];9if (mpp.find(sum - target) != end(mpp) and mpp[sum - target] >= prev) ++ways, prev = i;10mpp[sum] = i;11}12return ways;13}14};