这是一个分配,在psuedo代码中。
我需要找出一个数组中有多少整数是唯一的,没有其他的,但它必须在o(n)中,最好不使用散列。
谢谢!

最佳答案

这个伪代码呢?


array randomNumbers;
array unique;
int uniqueCount = 0;

for (i in randomNumbers) {

  unique[i] += 1;
  uniqueCount++; //count all here
  // and remove duplicities here
  if (unique[i] > 1) {
    uniqueCount--;
  }
}
return uniqueCount;

前提是,未声明的唯一i是0

关于algorithm - 计算O(n)中数组中的重复项(不一定要删除),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2867190/

10-12 19:49