滑动窗口
dezhonger
这个作者很懒,什么都没留下…
展开
-
Leetcode 992
求连续子数组的不同个数是k的有多少个 这个题目也是滑动窗口的思想,但是我们直接统计等于k的不太好统计。可以先统计不同数字个数 <=k的子数组有多少个, 我们记录为count(A, K) 那么答案为count(A, K) - count(A, K - 1) 求count(A, K)的话,就使用普通的滑动窗口的思想来处理就可以了 public int subarr...原创 2020-02-29 15:30:58 · 180 阅读 · 0 评论 -
Leetcode 395
这个题的枚举方式我没想到。 可以通过枚举子串中不同字母的数量,一共26个字母,复杂度是哦O(26N) 也就是说枚举字符串中不同字母有1个的最大结果,然后枚举有两个不同字母的 滑动窗口应该也是可解的。 public class Leetcode0395 { public static void main(String[] args) { S...原创 2020-02-08 18:12:18 · 400 阅读 · 0 评论 -
leetcode30
判断给定的字符串是否存在一些子串由给定的words列表构成。 sol: 由于words里的每个单词的长度是一样的,举个例子吧 s长度为18 ,words每个单词长度为3 那么我们按照单词的长度来枚举 0, 3, 6, 9, 12, 15 1, 4, 7, 10, 13, 16 2, 5, 8, 11, 14, 17 也就是说把源字符串按照words的单词长度切分后,再用滑动窗口的办...原创 2020-01-03 01:03:36 · 129 阅读 · 0 评论 -
Leetcode713
求有多少连续子数组的积<k? 滑动窗口,计算到r时候 public int numSubarrayProductLessThanK(int[] nums, int k) { int res =0 ; int l = 0; int r = 0; int ji = 1; for (; r < nu...原创 2019-12-20 21:48:58 · 125 阅读 · 0 评论 -
Leetcode1234
可以选择一个子串,修改为任意的等长度字符串,使得每个字符出现的数量相等 sol: 滑动窗口: public int balancedString(String s) { int q, w, e, r; int q1, w1, e1, r1; q = w = e = r = 0; q1 = w1 = e1 = r1 = ...原创 2019-12-16 00:23:02 · 158 阅读 · 0 评论 -
Leetcode424
给定一个全是大写字母字符串,可以最多选择k个字母把它替换为任意的字符,问可以得到最长的全部相同的字符串长度? 比如ABAB, k = 2, 我们可以把两个B替换为A, 得到一个长度为4的全部为A的字符串 , result =4 比如AABABBA, 我们可以中间的A替换为B, 得到AABBBBA, 得到长度为4的全是B的字符串,result=4 sol: 我们可以用滑动窗...原创 2019-12-13 22:24:29 · 222 阅读 · 0 评论 -
Leetcode 1004
给定一个由若干0和1组成的数组A,我们最多可以将K个值从 0 变成 1 。 返回仅包含 1 的最长(连续)子数组的长度。 题解:依次把遇到的变为1,如果变的次数超过了K,就把左边第一个变过的取消掉。 class Solution { public int longestOnes(int[] A, int K) { int res = 0; ...原创 2019-04-13 21:56:50 · 468 阅读 · 0 评论