首页 > 试题广场 >

下列函数的时间复杂度是intfunc(intn){inti=

[单选题]
下列函数的时间复杂度是 
int func(int n){
 int i=0, sum=0;
 while(sum < n) sum += ++i;
 return i;
}
  • O(logn)
  • O(n1/2)
  • O(n)
  • O(nlogn)
++i, i = 1,2,3,4,5,···,k。
s = 1+2+3+4+5+···+k = k*(k+1)/2。
即此时 sum = k*(k+1)/2 >= n,(k+1)2 > 2n,得到k > (2n)1/2 - 1。
发表于 2021-10-28 22:48:05 回复(0)