【发布时间】:2021-05-13 05:18:01
【问题描述】:
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
cin >> str;
int size;
size = str.length();
for(int i=0;i<size;i++){
for(int j=i+2;j<size;j++){
if(str[i]==str[j]) //detect str[i]>2
cout<<str[i]<<endl; //print str[i]>2
else
cout<<"no occurrences"<<endl;}
}
}
这是我开始的代码。我的想法是循环字符串,直到一个字母连续出现两次以上,如果出现,则每隔一次删除一次,所以只剩下两个。
edit:添加了一个用于检测和打印 str[i]>2
的嵌套 for【问题讨论】:
-
超过2次,你的意思是连续的还是整个字符串?
-
@anirudh 连续
-
@JeremyFriesner 已修复 :)
-
你的想法听起来还不错。尝试实现它。如果您遇到问题edit 并显示您的尝试。
-
@Scheff 我找到了嵌套循环的解决方案 :) 我无法理解使用 str.erase() 删除这些事件虽然????