滑动窗口
文章平均质量分 58
ZhangyiA*
菜鸟学刷题
展开
-
力扣:替换后的最长重复字符
题目分析给你一个 仅由大写英文字母组成 的字符串,你可以将任意位置上的字符替换成另外的字符,总共可 最多替换 k 次 。在执行上述操作后,找到包含 重复字母的最长子串的长度 。注意:字符串长度 和 k 不会超过 10^4。力扣:424. 替换后的最长重复字符s = “ABABBCCCCDC” k = 2max_len = 7题目分析此题和 力扣:1004. 最大连续 1 的个数 III 看似相同,又有所不同,但本质都是 滑动窗口 ,因为求得都是连续的最长子序列。不同点在于,最大连原创 2021-08-03 11:05:32 · 195 阅读 · 0 评论 -
力扣:最大连续 1 的个数 III
题目描述给定一个由若干 0 和 1 组成的数组 nums,我们最多可以将 K 个值从 0 变成 1 。返回仅包含 1 的最长(连续)子数组的长度。力扣:1004. 最大连续 1 的个数 III输入:A = [ 0 , 0 , 1 , 1 , 0 , 0 , 1 , 1 , 1 , 0 , 1 , 1 , 0 , 0 , 0 , 1 , 1 , 1 , 1 ] , K = 3输出:10解释:[ 0 , 0 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 0原创 2021-05-06 20:18:43 · 169 阅读 · 0 评论 -
阿里笔试:拿糖果
题目描述有 n 盒糖果 , 每盒糖果的数量为 a[i] 。 这 n 盒糖果从 1 到 n 的顺序顺时针方向摆成一个圆 , 索引为 n 的糖果盒顺时针方向的下一个糖果盒的索引为 1 , 对于其余的每盒糖果 , 编号为 i 的糖果盒顺时针的下一个糖果盒的索引为 i + 1 。你可以选择任意一盒糖果, 然后从它开始顺指针方向那走连续的 k 盒糖果 , 问从哪盒糖果开始拿可以那最多的糖果 , 输出你选择的盒子的索引 。 如果有多重方案可以拿到最多的糖果则输出最小的索引 。输入描述:第一行两个整数 n ,原创 2021-05-06 20:03:27 · 182 阅读 · 0 评论 -
力扣:将 x 减到 0 的最小操作次数
题目描述给你一个整数数组 nums 和一个整数 x 。每一次操作时,你应当移除数组 nums 最左边或最右边的元素,然后从 x 中减去该元素的值。请注意,需要 修改 数组以供接下来的操作使用。如果可以将 x 恰好 减到 0 ,返回 最小操作数 ;否则,返回 -1 。输入:nums = [3,2,20,1,1,3], x = 10输出:5解释:最佳解决方案是移除后三个元素和前两个元素(总共 5 次操作),将 x 减到 0 。注意:1 <= nums.length <= 10^5原创 2021-05-06 19:33:12 · 604 阅读 · 0 评论 -
力扣:滑动窗口中最大值
题目描述给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。力扣:239. 滑动窗口中的最大值输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7]解释: 滑动窗口 最大值[1 3 -1] -3 5 3 6 7 31 [3 -1 -3] 5 3 6 7 31 3 [-1 -3 5] 3 6 7 &n原创 2021-01-04 15:35:35 · 271 阅读 · 0 评论 -
力扣:长度最小的子数组
题目描述给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的 连续子数组,并返回其长度。如果不存在符合条件的子数组,返回 0。力扣:209. 长度最小的子数组输入:s = 7, nums = [2,3,1,2,4,3]输出:2解释:子数组 [4,3] 是该条件下的长度最小的子数组。题目分析连续的,区间匹配问题,可优先考虑滑动窗口求解。那么如何维护这个滑动窗口呢 ? 思路和 76. 最小覆盖子串 一致的,滑动窗口的大小是动态变化的,但因为不是字原创 2021-01-04 14:46:18 · 194 阅读 · 0 评论 -
力扣:最小覆盖子串
题目描述给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。注意:如果 s 中存在这样的子串,我们保证它是唯一的答案。力扣:76. 最小覆盖子串示例 1:输入:s = “ADOBECODEBANC”, t = “ABC”输出:“BANC”题目分析连续的,区间匹配问题,可优先考虑滑动窗口求解。和 力扣:438. 找到字符串中所有字母异位词 不同点在于 438 中要求的是窗口大小固定为 p原创 2021-01-03 23:02:51 · 175 阅读 · 0 评论 -
力扣:找到字符串中所有字母异位词
题目描述给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引。字符串只包含小写英文字母,并且字符串 s 和 p 的长度都不超过 20100。说明:字母异位词指字母相同,但排列不同的字符串 。不考虑答案输出的顺序 。力扣:438. 找到字符串中所有字母异位词输入 s : “cbaebabacd” p : “abc”输出 [ 0 , 6 ]解释:起始索引等于 0 的子串是 “cba”, 它是 “abc” 的字母异位词 。起始索原创 2021-01-03 21:46:06 · 682 阅读 · 1 评论 -
力扣:无重复字符的最长子串
题目描述给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度 。力扣:3. 无重复字符的最长子串输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个 子序列 ,不是子串。题目分析正如给出的这组样例输入,题目要求的 子串是连续的,而不是 离散的子序列像这种连续的区间 ,定长和不定长的一些问题,都可采用滑动窗口来实现 ;下面通过 abcabcbb 作为例子,描述原创 2021-01-03 11:23:43 · 242 阅读 · 0 评论