滑动窗口
三更鬼
这个作者很懒,什么都没留下…
展开
-
力扣 剑指 Offer II 009. 乘积小于 K 的子数组
滑动窗口原创 2022-04-02 15:50:02 · 159 阅读 · 0 评论 -
力扣 Top100 76. 最小覆盖子串
滑动窗口原创 2022-03-26 12:21:18 · 144 阅读 · 0 评论 -
力扣 3. 无重复字符的最长子串
滑动窗口原创 2022-03-12 19:57:47 · 120 阅读 · 0 评论 -
力扣 5977. 最少交换次数来组合所有的 1 II
题目来源:https://leetcode-cn.com/problems/minimum-swaps-to-group-all-1s-together-ii/大致题意:给一个由 0 和 1 组成的环形数组(也就是首尾可以视为是相邻的),求出最少交换多少次元素后,可以让所有的 1 全部相邻思路题目要求最少的交换把所有的 1 放到一块,那就可以先算出 1 的个数 c,然后看在大小为 c 的窗口大小内,最多有多少个 1,选出最多的那个窗口,然后把这个窗口外的 1 全部交换进来即可滑动窗口统计 1原创 2022-01-09 16:36:49 · 568 阅读 · 0 评论 -
力扣 825. 适龄的朋友
题目来源:https://leetcode-cn.com/problems/friends-of-appropriate-ages/大致题意:给一个数组 ages,对于每个元素 ages[i] 来说,需要求大于 ages[i] / 2 + 7,小于等于 ages[i] 的其它元素个数。需要对所有元素进行这个操作,然后返回所有满足条件的元素个数和思路排序 + 滑动窗口先对数组进行升序排序窗口初始边界为 [0, 0],窗口内的元素应该是满足条件的元素从头开始遍历,可以注意到小于 15 的数肯定找原创 2021-12-27 15:06:52 · 78 阅读 · 0 评论 -
力扣 1044. 最长重复子串
题目来源:https://leetcode-cn.com/problems/longest-duplicate-substring/大致题意:给一个字符串 s,找出子串中出现次数超过一次的最长子串思路遍历 1 ~ n-1 长度的所有子串,判断是否出现次数超过一次可以知道,如果长度为 L 的子串出现次数超过一次,那么显然该子串的子串出现次数一定也超过一次。那么当有长度为 L 的子串重复出现时,此时就只用在 L+1 ~ n-1 长度中寻找是否有重复子串,也就是可以使用二分来优化遍历由于本地的字符串长原创 2021-12-23 16:35:42 · 708 阅读 · 0 评论 -
力扣 689. 三个无重叠子数组的最大和
题目来源:https://leetcode-cn.com/problems/maximum-sum-of-3-non-overlapping-subarrays/大致题意:给一个数组 nums 和一个整数 k,在数组中找到互不重叠的三个长度为 k 的子数组,求出三个子数组可能有的最大和。返回最大和对应的三个子数组的左边界索引,如果有多个答案,返回字典序最小的思路一看是困难题我就怂了…没想到今天的官方题解写的太棒,看了一下就懂了这里就用自己的理解再写一遍滑动窗口题目中规定了子数组的长度为 k,原创 2021-12-08 10:30:10 · 377 阅读 · 0 评论 -
力扣 438. 找到字符串中所有字母异位词
题目来源:https://leetcode-cn.com/problems/find-all-anagrams-in-a-string/大致题意:给定两个字符串 s 和 p,查找字符串 s 是否有子串的所有组成字母和 p 完全一致。返回所有符合该条件的的 s 的子串的开始索引的集合思路找给定长度的子串 == 滑动窗口滑动窗口使用两个大小为 26 的数组 pCount 和 sCount 分别存下 p 和 s 的长度为 p.length() 的子串的不同字母对应的数量初始时,先统计 pCoun原创 2021-11-29 14:48:33 · 167 阅读 · 0 评论