c - 如何判断数组中是否有两个相等的数字

标签 c arrays

如何判断数组中是否有两个相等的数字-

例如

array [4] = {2,3,7,2}

如果数组中有两个数字相等则为真,否则为假。 我如何实现?

最佳答案

O(n) 方法:

  1. 创建哈希表。

  2. 扫描数组,使用哈希表统计每个元素出现的频率。

  3. 扫描哈希表。如果频率>1,则为真,否则为假。


O(nlog n)方法:

  1. O(nlog n) 中对数组进行排序。

  2. 从头到尾扫描数组。保留两个索引:以前的和当前的。检查当前是否等于以前的。 - O(n)

关于c - 如何判断数组中是否有两个相等的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20772010/

相关文章:

javascript - 来自匿名函数的错误 : unexpected token <

c - C 中的退出函数

c - 使用 qsort() 对结构指针数组进行排序时程序崩溃

c - 我是否正确释放内存?

C#:string[] 到定界字符串。有单线吗?

c - 数组地址是随机的还是固定的?

c - 编写 GTK 应用程序的首选方法是什么?

c - 如何在 C 中自动打印结构值(如 gdb ptype)?

java - 对象数组困惑

c - 如何使用GDB检测C程序中的 "out of bound error"?