主要思想:遍历a,将匹配b的a的子序列加入到set中,最后返回set的大小即可
let bb=readline();let as=new Set();
let l=0;//这里是需要l来记录a的子序列开始位置,这个子序列无论是匹配成功还是匹配失败,下一个子序列的开头都是a的第l+1
for(let i=0,j=0;i<aa.length;){
if(aa[i]==bb[j]||bb[j]=='?'){
j++;
if(j==bb.length){
j=0;
as.add(aa.slice(l,i+1));
i=l+1;
l=i;
continue;
}
}else{
j=0;
i=l+1;
l=i;
continue;
}
i++
}
console.log(as.size);