Я создал алгоритм псевдокода, чтобы найти повторяющиеся значения массива, который включает числа с плавающей запятой:
mergeSort(A);
int i <- 0
for i<- A.lenght-1
if Arr[i] == A[i+1]
return A[i]
while A[i] = A[i+1]
i++
else
i++
Я хочу изменить вышеупомянутый алгоритм, чтобы найти повторяющиеся значения и количество повторений.Я создал следующий алгоритм:
mergeSort(A);
HashMap hashMap;
Int result <-0 int i <- 0
for i<- A.lenght-1
int j <- 0
if A[i] == A[i+1]
j <- j+1
result <- A[i]
while A[i] == A[i+1]
i <- i+1
j<- j+1
hashMap.insert(result , j)
else
i++
return hashMap
Это эффективный алгоритм?Это хороший способ использовать хэш-карту?