class Solution:def subarraySum(self, nums: List[int], k: int) -> int:import collectionssub_sum_ = collections.defaultdict(int) # 使用字典记录前缀和,方便检索sub_sum_[0] = 1 # 初始化,方便判断单个元素为k的情况sum_tmp = 0 # 前缀和初始化subarray_cnt = 0for index in range(len(nums)):sum_tmp += nums[index] # 计算前缀和subarray_cnt += sub_sum_.get(sum_tmp - k, 0) # 计算当前前缀的情况下,满足情况的子数组的数目sub_sum_[sum_tmp] = sub_sum_[sum_tmp] + 1 # 记录前缀和return subarray_cnt
