java - o(1) 或 o(n) 的复杂度是多少?
问题描述
在下面的循环中,复杂度是 O(1) 还是 O(n)?
for(int j = 0; j < Math.random() * 1000 + 1; j++)
我不知道它会通过循环运行的次数,所以它不应该是 O(n) 吗?
解决方案
这O(1)
是因为 n 是输入。代码中没有输入
for(int j =0 ;j<(Math.random()*1000+1);j++)
您的代码将运行迭代次数,这是 1000 的函数,因此O(1)