【560. 和为 K 的子数组】

目录

  • 一、题目描述
  • 二、算法原理
  • 三、代码实现

一、题目描述

【560. 和为 K 的子数组】_第1张图片

二、算法原理

【560. 和为 K 的子数组】_第2张图片

三、代码实现

class Solution {
public:
    int subarraySum(vector<int>& nums, int k) 
    {
        unordered_map<int,int> hash;
        int ret=0,sum=0;
        hash[0]=1;
        for(auto num:nums)
        {
            sum+=num;
            if(hash.count(sum-k))
            {
                ret+=hash[sum-k];
            }
            hash[sum]++;
        }

        return ret;
    }
};

你可能感兴趣的:(算法,c++,数据结构)