7、子串简写
题目 子串简写
思路分析
#include<bits/stdc++.h>
using namespace std;
int main()
{
int k;
string s;
char c1,c2;
cin>>k>>s>>c1>>c2;
int cnt=0;
for(int i=0;i<s.size();i++){
if(s[i]==c1){
for(int j=i;j<s.size();j++){
if(s[j]==c2){
if(j-i+1>=k)
cnt++;
}
}
}
}
cout<<cnt;
return 0;
}
能过六个数据 12分
优化ac是要利用前缀和的性质加上尺取法 有个放缩在里面 没怎么看懂
#include <bits/stdc++.h>
using namespace std;
int k,t;
string s;
long long ans=0;
int main()
{
char c1,c2;
cin>>k>>s>>c1>>c2;
for(int j=0;j<s.length();j++)
{
if(s[j]==c1) t++;
if(s[j+k-1]==c2) ans+=t;
}
cout<<ans;
return 0;
}
代码实现
💬 评论