325. Maximum Size Subarray Sum Equals k - cocoder39/coco39_LC GitHub Wiki
325. Maximum Size Subarray Sum Equals k
int maxSubArrayLen(vector<int>& nums, int k) {
int res = 0, sum = 0;
unordered_map<int, int> mp;
for (int i = 0; i < nums.size(); i++) {
sum += nums[i];
if (sum == k) {
res = i + 1;
} else {
int target = sum - k;
if (mp.find(target) != mp.end()) {
res = max(res, i - mp[target]);
}
}
if (mp.find(sum) == mp.end()) { //store earliest sum that is equal to sums[i]
mp[sum] = i;
}
}
return res;
}