leetcode560.和为K的子数组
leetcode560.和为K的子数组
题目
给你一个整数数组 nums 和一个整数 k ,请你统计并返回该数组中和为 k 的连续子数组的个数。
用例
输入:nums = [1,1,1], k = 2
输出:2
输入:nums = [1,2,3], k = 3
输出:2
求解
/**
* @param {number[]} nums
* @param {number} k
* @return {number}
*/
var subarraySum = function(nums, k) {
const map = { 0: 1 };
let sum=0
let res=0
for(let i=0;i<nums.length;i++){
sum=sum+nums[i]
if(map[sum-k]){
res=res+map[sum-k]
}
if(map[sum]){
map[sum]++
}else{
map[sum]=1
}
}
return res
};

浙公网安备 33010602011771号