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;
    }
};
相关推荐
Navigator_Z13 小时前
LeetCode //C - 1250. Check If It Is a Good Array
c语言·算法·leetcode
圣保罗的大教堂18 小时前
leetcode 3483. 不同三位偶数的数目 简单
leetcode
mmmmath_318 小时前
LeetCode.018.四数之和
数据结构·算法·leetcode
圣保罗的大教堂21 小时前
leetcode 836. 矩形重叠 简单
leetcode
土司大王21 小时前
LeetCode hot100——394.字符串解码:Java 双栈模拟
java·算法·leetcode
a1879272183121 小时前
【算法】双指针与滑动窗口(三):相向双指针——比较、排除、收缩
算法·leetcode·双指针·滑动窗口·原理·相向双指针·算法讲解
6Hzlia1 天前
【Classic 150 刷题计划】 LeetCode 14. 最长公共前缀 | C++ 纵向扫描法与防越界细节
c++·算法·leetcode
Tisfy2 天前
LeetCode 0836.矩形重叠:xy两方向分别看
数学·leetcode·题解·模拟
青山木2 天前
Hot 100 --- 最长递增子序列
java·数据结构·算法·leetcode·动态规划
土司大王2 天前
LeetCode hot100——33.搜索旋转排序数组:Java 二分模板与 O(log n) 实现
数据结构·算法·leetcode