给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 

子数组是数组中元素的连续非空序列。

示例 1:

输入:nums = [1,1,1], k = 2
输出:2

示例 2:

输入:nums = [1,2,3], k = 3
输出:2

前缀和 是指从数组的起点到当前位置的所有元素的累积和。它是一种非常有用的技术,可以帮助我们在许多问题中快速计算子数组的和。通过前缀和,我们可以在不需要重复计算每个子数组的情况下,快速确定子数组的和是否等于给定的值 k

例子说明

假设你有一个数组 nums = [1, 2, 3, -1, 4],并且你想找出和为 k = 3 的子数组。

1. 前缀和的定义

前缀和是指从数组的起点(即第一个元素)到当前元素的累积和。

  • prefixSum[0] = nums[0] = 1
  • prefixSum[1] = nums[0] + nums[1] = 1 + 2 = 3
  • prefixSum[2] = nums[0] + nums[1] +
08-15 05:08