以下代码的时间复杂度是多少?
void fun(int n)
{
int j = 1, i = 0;
while (i < n)
{
// Some O(1) task
i = i + j;
j++;
}
}
循环变量“ i”以1、2、3、4…递增,直到i变得大于或等于n。
经过x次迭代后,i的值为x(x + 1)/ 2。因此,如果循环运行x次,则x(x + 1)/ 2
📅  最后修改于: 2021-05-20 08:01:26             🧑  作者: Mango
以下代码的时间复杂度是多少?
void fun(int n)
{
int j = 1, i = 0;
while (i < n)
{
// Some O(1) task
i = i + j;
j++;
}
}
循环变量“ i”以1、2、3、4…递增,直到i变得大于或等于n。
经过x次迭代后,i的值为x(x + 1)/ 2。因此,如果循环运行x次,则x(x + 1)/ 2