优雅白羊

文章
6
资源
0
加入时间
2年10月17天

和为K的子数组(前缀和 + HashMap解法)python,golang

力扣560. 和为K的子数组给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。示例 1 :输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。思路:我我们定义pre[i] 为 [0…i] 里所有数的和,则pre[i] 可以由 pre[i−1] 递推而来,即pre[i]=pre[i−1]+nums[i]那么「[j…i] 这个子数组和为 k,这个条件我们可以转化为pre[i]−pre[j−1]==k简