码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2021-04-10 13:08:02      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:int   因此   turn   log   style   rgba   复杂度   class   code   

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)

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

标签:int   因此   turn   log   style   rgba   复杂度   class   code   

原文地址:https://www.cnblogs.com/otakus/p/14638453.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!