我有一个任务,需要创建一个算法在包含数字值的数组中查找重复项。但是任务没有说明这些数字属于哪种类型,整数还是浮点数。我已经编写了以下伪代码:
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,...。我该如何更改它,以仅返回每个重复项一次? 我认为对于整数而言,这是一个好的算法,但对于浮点数呢?