嵌套循环递归的时间复杂度/大 o 符号

dev*_*999 0 java big-o time-complexity nested-loops

我正在查看以下代码

public class Solution {
    public boolean judgeSquareSum(int c) {
        for (long a = 0; a * a <= c; a++) {
            for (long b = 0; b * b <= c; b++) {
                if (a * a + b * b == c)
                    return true;
            }
        }
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

作者说这段代码的时间复杂度是?c。我不明白的是如何。

所以假设我们给出了一个 c=20 的例子。那么代码将运行 15 次但是?20=4.47

小智 8

给定的片段是O(n)and ?(?n),这意味着所述的时间复杂度只是最好的情况。

在此处输入图片说明

*对数化垂直轴