我在考试中发现了这种专长,遇到解决问题的困难。
我可以确定该算法至少会占用O(n),但我不知道该如何解决。我知道在这种情况下,我必须评估最差的if-else分支,并确定它是第二个分支。
for i=1...n do
j=n
while i<j do
if j mod 2 = 0 then j=j-1
else j=i
Run Code Online (Sandbox Code Playgroud)
从直觉上讲,我认为总成本为:O(nlogn)= O(n)* O(logn)