class Solution:
def subarraySum(self, nums: List[int], k: int) -> int:
sum=0
res=0
dict={}
dict[0]=1
for num in nums:
sum=sum+num
if sum-k in dict:
res+=dict[sum-k]
if sum in dict:
dict[sum]+=1
else:
dict[sum]=1
return res
思路:
- 利用前缀和的思想
- sum用来计算从下标0的元素,到下标问为x的元素的和
- 使用字典,记录钱x项有多少个结果
- 所需要的组数就是目前的加和sum减去目标k后剩下的数出现的次数,这个数在字典里找
- B站搜前缀和就是将这道题