首页 > 解决方案 > 在解决一些时间复杂度的问题时,卡在下面的代码片段中

问题描述

以下代码的时间复杂度是多少?

    for(i=0;i<=n;i++)
     for(j=0;j<=log i;j++)
      print("hello world");

标签: javaalgorithmtime-complexity

解决方案


总结内循环迭代的次数,我们得到,

log1 + log2 + log3 + log4 + ... + logN 
= log(N!)

并且根据斯特林近似log(N!) = O(N x log(N)) 所以时间复杂度为O(NlogN)


推荐阅读