560. 和为 K 的子数组

560. 和为 K 的子数组


题目链接:560. 和为 K 的子数组

代码如下:

cpp 复制代码
class Solution 
{
public:
    int subarraySum(vector<int>& nums, int k) 
    {
        unordered_map<int,int> um;
        um[0]=1;
        int res=0,pre=0;
        for(int i=0;i<nums.size();i++)
        {
            pre+=nums[i];
            if(um.find(pre-k)!=um.end())//找到了
            {
                res+=um[pre-k];
            }
            um[pre]++;
        }
        return res;
    }
};
相关推荐
科技苑4 小时前
C++ CAS与ABA问题详解,无锁编程的经典陷阱怎么解决?
c++·人工智能
BaiPeter8 小时前
ZPL文件预览
开发语言·c++
悠仁さん11 小时前
【C++】哈希表
c++·算法·散列表
Severus_black13 小时前
【C++初阶】list使用及相关实现,思路顺滑流畅!
c语言·数据结构·c++·stl·list
敲上瘾14 小时前
Qt Widgets入门:项目模板解析与Hello World
开发语言·数据库·c++·qt·ui·qt6.3
旖旎夜光16 小时前
【C++ 基础入门】C++ 多态(中):虚函数表、多态原理与动静绑定
开发语言·c++·笔记·学习
旖旎夜光17 小时前
【C++ 基础入门】C++多态(下):单/多继承虚表、多态补充与 21 道高频题
开发语言·c++·笔记·学习
apcipot_rain1 天前
C++转Java日记(03)
java·开发语言·c++
布莱克6051 天前
C++ 中 map 的 insert 与 emplace:key 已存在时会覆盖吗?
开发语言·数据结构·c++·算法·map
xys_6781 天前
深挖C++:类和对象(中)
开发语言·c++