力扣560. 和为 K 的子数组 C++

给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k的子数组的个数

子数组是数组中元素的连续非空序列。

示例 1:

复制代码
输入:nums = [1,1,1], k = 2
输出:2

示例 2:

复制代码
输入:nums = [1,2,3], k = 3
输出:2
cpp 复制代码
class Solution {
public:
    int subarraySum(vector<int>& nums, int k) {
        unordered_map<int,int> f = {{0,1}};

        int res = 0;

        for(int i = 0, s = 0;i < nums.size(); i ++){
            s += nums[i];
            res += f[s - k];
            f[s] ++;
        }

        return res;
        
    }
};
相关推荐
tankeven3 分钟前
HJ132 小红走网格
c++·算法
小璐资源网7 分钟前
算法黑箱的可解释性危机
算法
不想看见40412 分钟前
Power of Four二进制特性--力扣101算法题解笔记
数据结构·算法
y = xⁿ14 分钟前
【LeetCodehot100】T23:合并k个升序链表
java·数据结构·链表
做怪小疯子26 分钟前
Leetcode刷题——8.重叠区间
算法·leetcode·职场和发展
2401_8578652329 分钟前
C++模块接口设计
开发语言·c++·算法
add45a39 分钟前
嵌入式C++低功耗设计
开发语言·c++·算法
DeepModel42 分钟前
【概率分布】指数分布(Exponential Distribution)原理、推导与实战
python·算法·概率论
_饭团1 小时前
指针核心知识:5篇系统梳理3
c语言·数据结构·算法·leetcode·面试·学习方法·改行学it
2401_874732531 小时前
C++中的状态模式
开发语言·c++·算法