var subarraySum = function (nums, k) {
let count = 0
for (let i = 0; i < nums.length; i++) {
if (nums[i] === k) {
count++
}
let sum = nums[i]
for (let j = i + 1; j < nums.length; j++) {
sum = sum + nums[j]
if (sum === k) {
count++
}
}
}
return count
};
var subarraySum = function (nums, k) {
let n = nums.length
let preSumArr = new Array(n + 1).fill(0)
preSumArr[0] = 0
for (let i = 0; i < n; i++) {
preSumArr[i + 1] = preSumArr[i] + nums[i]
}
let count = 0
for (let i = 0; i < n; i++) {
for (let j = i; j < n; j++) {
if (preSumArr[j + 1] - preSumArr[i] === k) {
count++
}
}
}
return count
}
var subarraySum = function(nums, k) {
const map = new Map()
map.set(0, 1)
let preSum = 0
let count = 0
for(let i=0;i<nums.length;i++) {
preSum +=nums[i]
if(map.has(preSum-k)) {
count += map.get(preSum-k)
}
if(map.has(preSum)) {
map.set(preSum, map.get(preSum) + 1)
} else {
map.set(preSum, 1)
}
}
return count
};