add: 和为K的子数组

This commit is contained in:
2020-05-15 19:25:33 +08:00
parent d348c63824
commit 5593f3e2c7
4 changed files with 36 additions and 0 deletions

View File

@ -0,0 +1,25 @@
/**
* @param {number[]} nums
* @param {number} k
* @return {number}
*/
export const subarraySum = function (nums, k) {
const map = new Map()
let sum = 0
let res = 0
nums.forEach((n, index) => {
sum += n
if (sum === k) res++
const subSum = sum - k
let value = []
if (map.has(subSum)) res += map.get(subSum).length
if (map.has(sum)) {
value = map.get(sum)
}
value.push(index)
map.set(sum, value)
})
return res
}