class Solution:
def subarraySum(self, nums: List[int], k: int) -> int:
n = len(nums)
preSum = [0]*(n+1)
for i in range(n):
preSum[i+1] = preSum[i] + nums[i]
count = 0 #计数器
for i in range(1, n+1):
for j in range(i):
if preSum[i] - preSum[j] == k:
count +=1
return count
上面方法超时
改进
preSum[i] - preSum[j] = k 变式为 preSum[j] = preSum[i] - k