首页 > 试题广场 >

下面程序的时间复杂度是多少? for (int i = 1;

[单选题]
下面程序的时间复杂度是多少?
for (int i = 1; i < n; i = i*2) {
    System.out.println(i)
}
  • O(1)
  • O(n^2)
  • O(log n)
  • O(n)
循环中i每次都乘以2,直到n一共乘了log2n次(2^times=n   => times = log2n),复杂度为O(logn)
编辑于 2021-09-01 13:22:11 回复(0)