Jub*_*din 3 c++ algorithm c++11 c++14 c++17
我的字符串是"AAABBAABABB",我想得到结果
A = 3
B = 2
A = 2
B = 1
A = 1
B = 2
Run Code Online (Sandbox Code Playgroud)
我试过用
for (int i = 0; i < n - 1; i++) {
if (msg[i] == msg[i + 1]) {
if(msg[i]==A)
a++;
else
b++;
}
}
Run Code Online (Sandbox Code Playgroud)
我试过它对我不起作用。而且我不明白是否还有其他方法可以找到它。请帮帮我。
通过以下方式遍历数组:
如果第 i 个字符等于前一个字符,我们可以增加计数器。
如果第 i 个字符不等于第 (i-1) 个字符,我们可以打印该字符、计数器并开始计算新字符。
尝试以下代码段:
char ch = msg[0];
int cnt = 1;
for (int i = 1; i < n; i ++){
if(msg[i] != msg[i-1]){
cout<<ch<<" "<<cnt<<endl;
cnt = 1;
ch = msg[i];
}
else {
cnt++;
}
}
cout<<ch<<" "<<cnt<<endl;
Run Code Online (Sandbox Code Playgroud)