本题不难,枚举一遍即可,相邻字母相同或者相邻位置有一个是?,则答案加1。
#include<iostream>
using namespace std;
int main()
{
string s;
cin >> s;
int n = s.size(), res = 0;
for(int i = 0; i < n - 1; i ++)
{
if(s[i] == s[i + 1] || s[i] == '?' || s[i + 1] == '?')
{
res ++;
i ++;
}
}
printf("%d\n", res);
return 0;
}
请问为什么写数组char a[1000010]会TLE啊o(╥﹏╥)o
可以看看你的代码嘛~
#include[HTML_REMOVED]
#include[HTML_REMOVED]
using namespace std;
char a[1000010];
int main()
{
scanf(“%s”,a);
int ans=0;
for(int i=0;i<strlen(a)-1;i)
{
if(a[i]==a[i+1] || a[i]==’?’||a[i+1]==’?’)
{ans;
i++;
}
}
printf(“%d\n”,ans);
}
你循环里面i++了吗
嗷提交的i++ 了,不知道为啥发的评论没加
你的代码在我这边跑了是正常的,不知道你那边为什么会超🤔
好的谢谢了