以下实现的算法的时间复杂度是多少?
我应该注意到长度b
足以覆盖a
作为索引的元素。
void smax(int[] a, int n){
int[] b = new int[n];
for (int i=0;i<b.length;i++){
b[i]=0;
}
int m=0;
while (m<b.length) {
int k=a[0];
for (int i=0;i<a.length;i++) {
if (a[i]> k && b[a[i]]!=1) {
b[a[i]]=1;
}
}
m++;
}
for (int i=0;i<a.length;i++){
if (b[a[i]]!=1){
b[a[i]]=1;
}
}
for (int j=0;j<b.length;j++){
if (b[j]==1){
System.out.println(j);
}
}
}