博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

查找一个数组中的两个相同的数

Posted on 2011-10-24 16:39  天地玄黄  阅读(4461)  评论(0编辑  收藏  举报

数组a[N]

1、使用i,j作为下标一次对比数组中的两个数。

2、用最简单的方法找出数组中的最大最小数,时间为O(n)。然后建立一个binary array,用0代表某个数没有在数组a中,1代表在数组a中。这样就可以找到两个相同的数。时间为O(n)

3、对数组排序,然后依次查看每个两个相邻的数即可。排序时间复杂度最小为O(nlogn)。总共时间为o(nlogn+n)。