int func(int n){
    int i = 0,sum = 0;
    while(sum < n)
        sum += ++i;
    return i; 
}

求时间复杂度

A. O(logn)    B. O(n^1/2)     C. O(n)     D. 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。

因此时间复杂度o(根号n)

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-08-17
  • 2021-07-20
  • 2021-10-27
  • 2022-02-17
猜你喜欢
  • 2022-01-26
  • 2021-08-03
  • 2022-01-09
  • 2021-06-27
  • 2021-09-14
  • 2021-11-24
  • 2022-12-23
相关资源
相似解决方案