首页 > 其他分享 >滑动窗口 & 双指针

滑动窗口 & 双指针

时间:2022-09-22 15:24:53浏览次数:64  
标签:maxx right 窗口 temp int 滑动 指针 left

https://leetcode.cn/problems/longest-repeating-character-replacement/

class Solution {
public:
    int characterReplacement(string s, int k) {
        if(s.empty()){
            return 0;
        }
        vector<int> v(26);
        // 滑动窗口初始化,右边界每一步都在变化,直到边界
        int left = 0, right = 0, maxx = 0;
        for(right = 0; right < s.length(); right++){
            int temp = s[right] - 'A';
            v[temp]++;
            maxx = max(v[temp], maxx);
            if(right - left + 1 > maxx + k){
                v[s[left] - 'A']--;
                left++;
            }
        }
        // 返回滑动窗口的大小
        return s.length() - left;
    }
};

标签:maxx,right,窗口,temp,int,滑动,指针,left
From: https://www.cnblogs.com/changebaobao/p/16719417.html

相关文章

  • 双指针
    1.滑动窗口2.双指针例题11.盛最多水的容器解法一:双指针$$S=H \timesW=min(left_height,right_height)\times(right-left)$$用left和right两个指针从两端向......
  • Android使用ViewPager2实现页面滑动切换
    Android使用ViewPager2实现页面滑动切换 作者:QiShare转载地址:https://juejin.cn/post/70655660992233472131.引言在很多应用中,我们经常会看到多个页面之间滑动切换......
  • 指针--求数组的最大最小值
    #include<stdio.h>intminmax(inta[],intlen,int*max,int*min);intmain(){  inta[10]={5,4,3,2,1,6,7,8,9,10};  intmax,min;  minmax(a,si......
  • 指针--变量互换
    #include<stdio.h>intswap(int*p1,int*p2);intmain(){  inta=5;  intb=4;  printf("a=%db=%d\n",a,b);  swap(&a,&b);  printf......
  • C++ 左值引用与一级指针
    将左值引用用于一级指针时,有以下几种用法://方式一:引用一级指针,常规用法inta=5;int*pa=&a;int*&rpa=pa;//方式二:引用指向常量的一级指针,以下几种为等效表......
  • nojejs 弹出子窗口,取值后返回
    1、主窗口:<!DOCTYPEhtml><html><head><metacharset="UTF-8"><title>Inserttitlehere</title><scriptsrc="javascripts/jquery-3.2.1.min.js"></script></head......
  • 面试--Go函数返回局部变量的指针是否安全
    点击查看代码packagemainfuncadd(x,yint)*int{ res:=0 res=x+y return&res}funcmain(){ add(1,2)}![image](https://img2022.cnblogs.com/b......
  • 打开窗口
    function(btn){varcloneDom=$("<divclass='allPopModal'><divclass='allModalZhezhao'></div></div>");cloneDom.append($(btn))$("b......
  • .NET6发布程序报错发布遇到错误。生成失败。检查输出窗口了解更多详细信息。
    发布报错详情:发布遇到错误。生成失败。检查输出窗口了解更多详细信息。已将诊断日志写入以下位置:“C:\Users\USER\AppData\Local\Temp\tmpD5F7.tmp”。解决方案:在项目......
  • C语言第13天,指针与数组
    使用指针访问数组1.使用第一个元素获取数组首地址 #include<stdio.h>intmain(){int arr[5]={111,222,333,444,555};int*p=&arr[0];//从第1个元素获取数组首地址p;......