Leetcode560. 和为K的子数组--前缀和

Leetcode560. 和为K的子数组--前缀和

#include<iostream>
#include<vector>
#include<unordered_map>

using namespace std;

class Solution {
public:
    int subarraySum(vector<int>& nums, int k) {
        unordered_map<int, int> mymap;
        mymap[0]=1;
        int sum=0;
        int ans=0;
        for (auto x: nums){
            sum+=x;
            ans+=mymap[sum-k];
            ++mymap[sum];
        }
        return ans;
    }
};

int main(){
    vector<int> nums={1, 2, 3, 1, 2, 3};
    int k=6;
    Solution S;
    int ans=S.subarraySum(nums, k);
    cout<<ans;
    return 0;
}
输出结果:
4
上一篇:Java技术专题-源码分析系列-JDK动态代理的实现


下一篇:Python 元组与字典