首页 > 试题广场 >

下列函数的时间复杂度是【 】 ...

[单选题]
下列函数的时间复杂度是【      】

int test(int n) {

    int i = 0, sum = 0;

    while(sum < n) sum += ++i;

    return i;

}


  •  O(log2n)
  • O(n)
  •  O(n0.5
  • O(nlog2n)

sum+=++i;可以拆分为++i;sum+=i;,所以当达到n时,是1+2+3+.....+i=n,即i(i+1)/2=n,不考虑低次幂和系数,即由0(n)=n0.5
发表于 2019-06-07 12:18:31 回复(0)


发表于 2019-06-01 10:32:50 回复(0)
sum=k(k+1)/2 因为sum
发表于 2019-06-13 16:15:12 回复(0)