How to efficiently remove duplicates from an array without using Set
Как эффективно удалять дубликаты из массива без использования Set
Меня попросили написать собственную реализацию для удаления дублированных значений в массиве. Вот что я создал. Но после тестов с 1 000 000 элементов на завершение ушло очень много времени. Могу ли я что-нибудь сделать для улучшения своего алгоритма или устранить какие-либо ошибки?
Мне нужно написать свою собственную реализацию - не использовать Set, HashSet и т.д. Или любые другие инструменты, такие как итераторы. Просто массив для удаления дубликатов.
publicstaticint[] removeDuplicates(int[] arr) {
intend= arr.length;
for (inti=0; i < end; i++) { for (intj= i + 1; j < end; j++) { if (arr[i] == arr[j]) { intshiftLeft= j; for (intk= j+1; k < end; k++, shiftLeft++) { arr[shiftLeft] = arr[k]; } end--; j--; } } }