560.和为K的子数组
和为K的子数组
给你一个整数数组 nums
和一个整数 k
,请你统计并返回 该数组中和为 k
的连续子数组的个数 。
子数组是数组中元素的连续非空序列。
示例 1:
1 |
|
示例 2:
1 |
|
提示:
1 <= nums.length <= 2 * 104
-1000 <= nums[i] <= 1000
-107 <= k <= 107
方法一:枚举
纯暴力,时间复杂度$O(n^2)$
方法二:前缀和 + 哈希表优化
前0到i个数的和为$pre[i]$,所以可以得到
可以推断出i到j的子数和为k
所以
560.和为K的子数组
http://example.com/2023/09/19/560-和为K的子数组/