Я пытаюсь отсканировать одномерный массив для разложения по сингулярным значениям (SVD) и наихудшей временной и пространственной сложности, чтобы быть O (n), без использования какой-либо вторичной структуры данных.
Они только так, как яудается сделать это с помощью вложенного цикла, но это делает его O (n ^ 2)
public static void svd(Integer[] array){
int count = 0;
int svd = 0;
for (int i = 0; i < array.length; i++) {
count=0;
for (int j = 0; j < array.length; j++) {
if(array[i] == array[j]){
count++;
}
if(count>(array.length/2)){
svd = array[i];
System.out.println("svd = "+svd);
}
else if(count<array.length/2){}
}
}
}