for (int i = 0 ; i < n ; i++)
{
int id = (a[i]-'a'); //记录首地址
b[id]++; //将出现字符 +1;
if (judge()) //若满足条件则开始进行收缩
{
while (judge())
{
ans = min (ans , i - st + 1);
int c =(a[st]-'a');
b[c]--; //将过滤后字符删去
st++; //满足条件,首地址一直向后收缩;
}
}
}
尺取法模版
最新推荐文章于 2021-03-31 14:03:31 发布