![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
滑动窗口/双指针
文章平均质量分 50
。。。
押切徹
这个作者很懒,什么都没留下…
展开
-
LeetCode 220. 存在重复元素 III 有序集合,桶排序思想/medium
文章目录1.Description2.Example3.Solution1.滑动窗口+有序集合2.桶排序思想1.Description给你一个整数数组 nums 和两个整数 k 和 t 。请你判断是否存在 两个不同下标 i 和 j,使得 abs(nums[i] - nums[j]) <= t ,同时又满足 abs(i - j) <= k 。如果存在则返回 true,不存在返回 false。2.Example示例 1:输入:nums = [1,2,3,1], k = 3, t =原创 2021-04-21 15:29:02 · 140 阅读 · 0 评论 -
LeetCode 31.Next Permutation Medium/Array
文章目录1.Description2.Example3.Solution1.DescriptionImplement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers.If such an arrangement is not possible, it must rearrange it as the lowest possible ord原创 2020-11-12 16:52:21 · 115 阅读 · 0 评论 -
LeetCode 面试题 17.21. 直方图的水量 双指针,单调栈/hard
文章目录1.Description2.Example3.Solution1.双指针2.单调栈1.Description给定一个直方图(也称柱状图),假设有人从上面源源不断地倒水,最后直方图能存多少水量?直方图的宽度为 1。2.Example上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的直方图,在这种情况下,可以接 6 个单位的水(蓝色部分表示水)。 感谢 Marcos 贡献此图。输入: [0,1,0,2,1,0,1,3,2,1,2,1]输出: 63.Solu原创 2021-04-03 13:48:34 · 156 阅读 · 0 评论 -
LeetCode 395.Longest Substring with At Least K Repeating Characters(至少有K个重复字符的最长子串) 分治/滑动窗口/medium
文章目录1.Description2.Example3.Solution2.滑动窗口1.Description给你一个字符串 s 和一个整数 k ,请你找出 s 中的最长子串, 要求该子串中的每一字符出现次数都不少于 k 。返回这一子串的长度。2.Example输入:s = "aaabb", k = 3输出:3解释:最长子串为 "aaa" ,其中 'a' 重复了 3 次。输入:s = "ababbc", k = 2输出:5解释:最长子串为 "ababb" ,其中 'a' 重复了 2原创 2021-02-27 18:17:09 · 133 阅读 · 0 评论 -
LeetCode 1052.grumpy bookstores owner(爱生气的书店老板) 滑动窗口/Medium
文章目录1.Description2.Example3.Solution1.Description今天,书店老板有一家店打算试营业 customers.length 分钟。每分钟都有一些顾客(customers[i])会进入书店,所有这些顾客都会在那一分钟结束后离开。在某些时候,书店老板会生气。 如果书店老板在第 i 分钟生气,那么 grumpy[i] = 1,否则 grumpy[i] = 0。 当书店老板生气时,那一分钟的顾客就会不满意,不生气则他们是满意的。书店老板知道一个秘密技巧,能抑制自己原创 2021-02-24 17:46:59 · 64 阅读 · 0 评论 -
LeetCode 567. Permutation in String(字符串的排列) 滑动窗口/Medium
文章目录1.Description2.Example3.Solution1.Description给定两个字符串 s1 和 s2,写一个函数来判断 s2 是否包含 s1 的排列。换句话说,第一个字符串的排列之一是第二个字符串的子串。2.Example输入: s1 = "ab" s2 = "eidbaooo"输出: True解释: s2 包含 s1 的排列之一 ("ba").输入: s1= "ab" s2 = "eidboaoo"输出: False3.Solution使用了滑动原创 2021-02-10 16:41:26 · 117 阅读 · 0 评论 -
LeetCode 992. Subarrays with K Different Integers(K 个不同整数的子数组) 滑动窗口/hard
文章目录1.Description2.Example3.Solution1.Description给定一个正整数数组 A,如果 A 的某个子数组中不同整数的个数恰好为 K,则称 A 的这个连续、不一定不同的子数组为好子数组。(例如,[1,2,3,1,2] 中有 3 个不同的整数:1,2,以及 3。)返回 A 中好子数组的数目。2.Example输入:A = [1,2,1,2,3], K = 2输出:7解释:恰好由 2 个不同整数组成的子数组:[1,2], [2,1], [1,2], [2原创 2021-02-10 01:48:30 · 107 阅读 · 0 评论 -
LeetCode 3.Longest Substring Without Repeating Characters(无重复字符的最长子串) 滑动窗口/Medium
文章目录1.Description2.Example3.Solution1.Description给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。2.Example输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。3.Solution使用滑动窗口,滑动的过程中动态的维护窗口的长度。class S原创 2021-02-08 19:44:25 · 103 阅读 · 0 评论 -
LeetCode 1208.Get Equal Substrings Within Budget(尽可能使字符串相等) 滑动窗口,双指针/Medium
文章目录1.Description2.Example3.Solution1.Description给你两个长度相同的字符串,s 和 t。将 s 中的第 i 个字符变到 t 中的第 i 个字符需要 |s[i] - t[i]| 的开销(开销可能为 0),也就是两个字符的 ASCII 码值的差的绝对值。用于变更字符串的最大预算是 maxCost。在转化字符串时,总开销应当小于等于该预算,这也意味着字符串的转化可能是不完全的。如果你可以将 s 的子字符串转化为它在 t 中对应的子字符串,则返回可以转化的原创 2021-02-08 17:00:03 · 134 阅读 · 0 评论 -
LeetCode 1423.Maximum Points You Can Obtain from Cards(可获得的最大点数) 数学,滑动窗口/Medium
文章目录1.Description2.Example3.Solution1.2.1.Description几张卡牌 排成一行,每张卡牌都有一个对应的点数。点数由整数数组 cardPoints 给出。每次行动,你可以从行的开头或者末尾拿一张卡牌,最终你必须正好拿 k 张卡牌。你的点数就是你拿到手中的所有卡牌的点数之和。给你一个整数数组 cardPoints 和整数 k,请你返回可以获得的最大点数。2.Example输入:cardPoints = [1,2,3,4,5,6,1], k = 3原创 2021-02-06 22:17:44 · 95 阅读 · 0 评论