算法刷题76. 最小覆盖子串本题使用滑动窗口方法,通过左右指针动态调整窗口大小,配合哈希表统计字符频次,在 O(n) 时间复杂度内找到包含目标字符串所有字符的最小子串。 LeetCode LeetCode hot100 哈希表 字符串 滑动窗口
算法刷题560. 和为 K 的子数组本题使用前缀和 + 哈希表的方法求解。通过构建前缀和数组,可以快速计算任意区间的和。使用哈希表记录每个前缀和出现的次数,当遍历到前缀和s[i]时,查找s[i]-k是否存在于哈希表中,若存在,则找到了和为k的子数组。该方法的时间复杂度为O(n),空间复杂度为O(n)。 LeetCode LeetCode hot100 数组 哈希表 前缀和
算法刷题3. 无重复字符的最长子串 该题使用滑动窗口方法,维护一个无重复字符的窗口。通过左右指针和哈希表,右指针扩展窗口,遇到重复时左指针右移,并持续更新最大长度。此方法的时间复杂度为O(n)。 LeetCode LeetCode hot100 哈希表 字符串 滑动窗口
算法刷题438. 找到字符串中所有字母异位词本题使用滑动窗口算法,通过维护一个固定大小的窗口和两个哈希表来比较字符频次,从而在O(n)时间复杂度内找出所有异位词的起始位置。 LeetCode LeetCode hot100 哈希表 字符串 滑动窗口