《python算法与数据结构2000讲》0560. 和为 K 的子数组
- 标签:数组、哈希表、前缀和
- 难度:中等
题目大意
给定一个整数数组 nums
和一个整数 k
。
要求:找到该数组中和为 k
的连续子数组的个数。
解题思路
看到题目的第一想法是通过滑动窗口求解。但是做下来发现有些数据样例无法通过。发现这道题目中的整数不能保证都为正数,则无法通过滑动窗口进行求解。
先考虑暴力做法,外层两重循环,遍历所有连续子数组,然后最内层再计算一下子数组的和。部分代码如下:
for i in range(len(nums)):
for j in range(i + 1):
sum = countSum(i, j)
这样下来时间复杂度就是 O (