У меня есть задание создать алгоритм поиска дубликатов в массиве, который включает числовые значения. но не сказано, какие числа, целые числа или числа с плавающей запятой. Я написал следующий псевдокод:
FindingDuplicateAlgorithm(A) // A is the array
mergeSort(A);
for int i <- 0 to i<A.length
if A[i] == A[i+1]
i++
return A[i]
else
i++
создал ли я эффективный алгоритм? целые числа или числа с плавающей запятой. Я написал следующий псевдокод:
FindingDuplicateAlgorithm(A) // A is the array
mergeSort(A);
for int i <- 0 to i<A.length
if A[i] == A[i+1]
i++
return A[i]
else
i++
создал ли я эффективный алгоритм? целые числа или числа с плавающей запятой. Я написал следующий псевдокод:
FindingDuplicateAlgorithm(A) // A is the array
mergeSort(A);
for int i <- 0 to i<A.length
if A[i] == A[i+1]
i++
return A[i]
else
i++
создал ли я эффективный алгоритм? Я думаю, что в моем алгоритме есть проблема, он несколько раз возвращает повторяющиеся числа. например, если массив включает 2 из двух для двух индексов, у меня будет ... 2, 2, ... на выходе. как я могу изменить его, чтобы каждый дубликат возвращался только один раз? Я думаю, что это хороший алгоритм для целых чисел, но хорошо ли он работает и для чисел с плавающей запятой?