add: 和为K的子数组
This commit is contained in:
1 parent
d348c63824
commit
5593f3e2c7
4 files changed
+36
No files matched your search
@@ -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
|
||||
}
|
||||
Reference in new issue
Block a user