我真的在计算大 O 时遇到了麻烦。我掌握了基础知识,但是当遇到嵌套 for 循环和所有这些时,我的大脑一片空白。我被要求写下以下算法的复杂性,但我不知道该怎么做。输入字符串仅包含 A、B、C 和 D
string solution(string &S) {
int length = S.length();
int i = 0;
while(i < length - 1)
{
if ( (S[i] == 'A' && S[i+1] == 'B') || (S[i] == 'B' && S[i+1] == 'A'))
{
S = S.erase(i,2);
i = 0;
length = S.length();
}
if ( (S[i] == 'C' && S[i+1] == 'D') || (S[i] == 'D' && S[i+1] == 'C'))
{
S = S.erase(i,2);
i = 0;
length = …Run Code Online (Sandbox Code Playgroud)