小编uni*_*123的帖子

如何计算时间复杂度?

我真的在计算大 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)

c++ big-o time-complexity

0
推荐指数
1
解决办法
109
查看次数

标签 统计

big-o ×1

c++ ×1

time-complexity ×1