Maximum Number of Non-Overlapping Subarrays With Sum Equals Target LeetCode solution in C++

1
class Solution {
2
public:
3
unordered_map<int, int> mpp;
4
int maxNonOverlapping(vector<int> &nums, int target) {
5
int sum = 0, ways = 0, prev = INT_MIN;
6
mpp[0] = -1;
7
for (int i = 0; i < nums.size(); ++i) {
8
sum += nums[i];
9
if (mpp.find(sum - target) != end(mpp) and mpp[sum - target] >= prev) ++ways, prev = i;
10
mpp[sum] = i;
11
}
12
return ways;
13
}
14
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0