![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
滑动窗口
采用滑动窗口思想
大小瓶
这个作者很懒,什么都没留下…
展开
-
字母异位词的子串
题目描述:给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引。(find-all-anagrams-in-a-string)示例:输入:s: "cbaebabacd" p: "abc"输出:[0, 6]解释: 起始索引等于 0 的子串是 "cba", 它是 "abc" 的字母异位词。 起始索引等于 6 的子串是 "bac", 它是 "abc" 的字母异位词。思路:固定长度为len(p)的窗口向前移动,判断窗口是否为p的字母异位原创 2020-05-16 11:10:15 · 106 阅读 · 0 评论 -
包含字符串所有字母的最小子串
题目描述:给定一个字符串 S 和一个字符串 T,请在 S 中找出包含 T 所有字母的最小子串。(minimum-window-substring)示例:输入: S = "ADOBECODEBANC", T = "ABC"输出: "BANC"思路: 窗口长度不固定,先固定窗口左端,移动右端,直到找到满足条件的窗口,记录窗口长度及对应窗口; 然后固定右端,移动左端,选择最小窗口长度及对应窗口,直到窗口重新不满足条件,再开始移动右端 到右端在最右端且窗口不满足条件,此时最小窗口长度的对应原创 2020-05-16 11:08:56 · 2188 阅读 · 0 评论 -
固定长度的连续子数组的最大总和
题目描述:给定一个整数数组,计算长度为 k 的连续子数组的最大总和。示例:输入:arr=[100,200,300,400] k=2输出:700解释:300+400=700思路:固定长度为k的窗口向前移动,新窗口的和 = 前一个窗口的和 + 新进入窗口的值 - 移出窗口的值代码:# 给定一个整数数组,计算长度为 k 的连续子数组的最大总和。#输入:arr=[100,200,300,400]# k=2#输出:700#解释:300+400=700#思路:原创 2020-05-16 11:08:12 · 1401 阅读 · 0 评论