type
status
date
slug
summary
tags
category
icon
password
创建时间
Apr 8, 2025 03:33 AM
给你一个整数数组
nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。子数组是数组中元素的连续非空序列。
滑动窗口——划不了一点
本题没办法使用滑动窗口,滑动窗口需要保证单调性。本题不满足该条件。
数组不是单调的话,不要用滑动窗口,考虑用前缀和
前缀和
nums[i] 到 nums[j-1] 的元素和等于 k,在前缀和中的表示为 s[j] - s[i] = k ,则 s[i] = s[j] - k。在本题中,我们需要统计满足条件的
s[i] 的个数。因为,我们使用一个哈希表,存储 s[i] 出现的个数。这样,当来了一个新元素的时候,我们可以根据哈希表找到
s[j] - k 的个数,快速求解。📎 参考
- 无