t
a
g
:
tag :
tag: 滑动窗口
暴力
传送门 : 好久没有写滑动窗口了,卡了好久
题意 : 给定一个字符串,让你修改其中的?
变为其他大写字符。
使得该字符串存在一个长度为26的子串并且其中每个字符只出现一次
思路 : 很显然的滑动窗口题,至于暴力我没一眼看出来
我们需要维护一个长度为26的不存在重复的字符串
因此我们可以利用滑动窗口维护一个不重复的窗口。我们利用 c n t [ ] cnt[] cnt[]进行计数,如果当前的窗口出现重复我们移动即可
否则的话,当窗口第一次到达 26 26 26长度的时候,我们就可以进行更改
除了当前26长度的?
,我们统一替换为A
即可
code :
string s;
int cnt[36];
void solve(){
cin>>s;
int len = s.size();
int flag =0 ;
for(int i=0,j = 0 ;i
关注
打赏