计算以下函数的时间复杂度

use*_*582 5 big-o time-complexity

如何计算以下函数的时间复杂度?

int Compute (int n)
{
   int j = 0;
   int i = 0;
   while (i<=n)
   {
       i = 2*j + i + 1;
       j++;
   }
   return j-1;
}
Run Code Online (Sandbox Code Playgroud)

现在,我知道循环具有O(n)时间复杂度,但在这种情况下i以更快的速度增长.通过迭代进行迭代,我发现每次第m次迭代i = m^2.但我仍然对如何计算Big-O感到困惑.