LCR010.和为K的子数组
链接:LCR010.和为K的子数组
难度:Medium
标签:数组、哈希表、前缀和
简介:给定一个整数数组和一个整数 k ,请找到该数组中和为 k 的连续子数组的个数。
题解 1 - cpp
- 编辑时间:2021-12-23
- 执行用时:80ms
- 内存消耗:40.7MB
- 编程语言:cpp
- 解法介绍:前缀和。
class Solution {
public:
int subarraySum(vector<int>& nums, int k) {
unordered_map<int, int> mmap;
int sum = 0, ans = 0;
mmap[0] = 1;
for (auto& num : nums) {
sum += num;
if (mmap[sum - k]) ans += mmap[sum - k];
mmap[sum]++;
}
return ans;
}
};