leetcode560.和为k的子数组

前缀和+哈希表

cpp 复制代码
class Solution {
public:
    int subarraySum(vector<int>& nums, int k) {
        int result=0;
        int pre=0;
        unordered_map<int,int> map;
        map[0]=1;//模拟测试用例1[1,1,1],k=2可知
        for(const int& num:nums){
            pre+=num;
            if(map.find(pre-k)!=map.end())
                result+=map[pre-k];
            map[pre]++;
        }
        return result;
    }
};
相关推荐
百年孤独_7 小时前
LeetCode 算法题解:链表与二叉树相关问题 打打卡
算法·leetcode·链表
算法_小学生7 小时前
LeetCode 75. 颜色分类(荷兰国旗问题)
算法·leetcode·职场和发展
算法_小学生7 小时前
LeetCode 287. 寻找重复数(不修改数组 + O(1) 空间)
数据结构·算法·leetcode
岁忧7 小时前
(LeetCode 每日一题) 1865. 找出和为指定值的下标对 (哈希表)
java·c++·算法·leetcode·go·散列表
alphaTao7 小时前
LeetCode 每日一题 2025/6/30-2025/7/6
算法·leetcode·职场和发展
ゞ 正在缓冲99%…7 小时前
leetcode67.二进制求和
算法·leetcode·位运算
YuTaoShao7 小时前
【LeetCode 热题 100】240. 搜索二维矩阵 II——排除法
java·算法·leetcode
Tanecious.10 小时前
LeetCode 876. 链表的中间结点
算法·leetcode·链表
Two_brushes.17 小时前
【算法】宽度优先遍历BFS
算法·leetcode·哈希算法·宽度优先
凌肖战1 天前
力扣网编程55题:跳跃游戏之逆向思维
算法·leetcode