Leetcode 0560 subarray-sum-equals-k

1 min

这题也比较简单。

很容易能想到,我们维护一个前缀和数组,然后将其转化为 hashmap。通过在 hashmap 中查找是否存在「某个前缀和-k」,就可以知道是否存在对应的子数组,以及存在多少个。

只需要注意一个细节,我们需要边计算前缀和,边找子数组,边构建 hashmap,这样可以防止我们在当前位置找到了未来的数组。以及,在某个位置构建 hashmap 时,我们需要先找当前的前缀和对应的子数组,再将当前前缀和加入 hashmap,防止在 k=0 时重复计算。