BA
k=1,…,nB(k)A(i)A(k)i=1,…,kA(i)<A(k)
A(1)n−1A(2)n−2(n−1)(n−2)2B(n)B(n)=A(n)−1 nn−1B(n−1)A(1)A(n−2)A(n)
k=1,…,n2k=n2,…,nB(k)A(n)−11A(i)i=k+1,…,nA(k)
Isso levaria etapas, que ainda é . Observe também que, ao construir partir de , se então .2×(n2−1)(n2−2)2=(n−2)(n−4)4O(n2)ABB(n)=A(n)−1A(n)=B(n)+1
Mas agora para mais requinte. Se for permitido um espaço adicional ou uma classificação no local, podemos classificar os números à medida que os comparamos. Por exemplo:
∣∣∣∣ASB8904803701407332219166655∣∣∣∣
Em vez de verificar todas elas (ou verificá-las em ordem), poderíamos usar a pesquisa binária para determinar cada . No entanto, a classificação ainda leva tempo .B(k)O(nlogn)