class Solution:
def subarraySum(self, nums: List[int], k: int) -> int:
# 前缀和字典,当前前缀和:次数; 前缀和为0的数组出现次数为1次
preSum = {}
preSum[0] = 1
count = 0
pre = 0
for num in nums:
pre += num
if pre-k in preSum:
count += preSum[pre-k]
if pre not in preSum:
preSum[pre] = 0
preSum[pre] += 1
return count