力扣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;
        
    }
};
相关推荐
平行侠14 小时前
065 B树(B-Tree)
数据结构·b树·树查找
无忧.芙桃15 小时前
C++语言原理与实践(十):vector类的底层实现
开发语言·c++·算法
乐迪信息15 小时前
AI防爆摄像机,监测港口船舶航行偏航隐患
大数据·人工智能·深度学习·算法·计算机视觉
0+11116 小时前
算法 --模拟
c++·算法·leetcode
青山是哪个青山16 小时前
LeetCode 300:最长递增子序列
算法
hetao173383716 小时前
2026-10-01~02 hetao1733837 的刷题记录
c++·算法
小虎牙^O^17 小时前
模糊数学综合评价:从模糊数学到建模评价类模型
人工智能·算法
随意起个昵称17 小时前
【单调队列优化DP】U301134 绿色通道
算法·动态规划
Nil20817 小时前
leetcode 739每日温度
算法·leetcode·职场和发展
lvwangshu17 小时前
势能分析(摊还分析)
数据结构·数学·算法