
滑动窗口
三更鬼
这个作者很懒,什么都没留下…
展开
-
力扣 剑指 Offer II 009. 乘积小于 K 的子数组
滑动窗口原创 2022-04-02 15:50:02 · 237 阅读 · 0 评论 -
力扣 Top100 76. 最小覆盖子串
滑动窗口原创 2022-03-26 12:21:18 · 175 阅读 · 0 评论 -
力扣 3. 无重复字符的最长子串
滑动窗口原创 2022-03-12 19:57:47 · 148 阅读 · 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 · 668 阅读 · 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 · 141 阅读 · 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 · 813 阅读 · 0 评论 -
力扣 689. 三个无重叠子数组的最大和
题目来源:https://leetcode-cn.com/problems/maximum-sum-of-3-non-overlapping-subarrays/ 大致题意: 给一个数组 nums 和一个整数 k,在数组中找到互不重叠的三个长度为 k 的子数组,求出三个子数组可能有的最大和。返回最大和对应的三个子数组的左边界索引,如果有多个答案,返回字典序最小的 思路 一看是困难题我就怂了… 没想到今天的官方题解写的太棒,看了一下就懂了 这里就用自己的理解再写一遍 滑动窗口 题目中规定了子数组的长度为 k,原创 2021-12-08 10:30:10 · 414 阅读 · 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 · 187 阅读 · 0 评论