123456789101112131415 |
- func subarraySum(nums []int, k int) int {
- cnt, n := 0, len(nums)
- sum := make([]int, n+1)
- m := make(map[int]int)
- m[0]++
- for i := 0; i < n; i++ {
- s := sum[i] + nums[i]
- if val, ok := m[s-k]; ok {
- cnt += val
- }
- m[s]++
- sum[i+1] = s
- }
- return cnt
- }
|