class Solution(object):
def subarraySum(self, nums, k):
"""
:type nums: List[int]
:type k: int
:rtype: int
"""
res = 0
asum = 0
map = dict()
map[0]=1
for n in nums:
asum+=n
if asum-k in map:
res+=map[asum-k]
if asum in map:
map[asum]+=1
else:
map[asum]=1
return res