求java一个方法

来源:百度知道 编辑:UC知道 时间:2024/05/14 20:02:57
寻找linked list中相同的数字(int),只要求找出一对,不要求是第一对,要求O(n)复杂度。ps:不用写出方法,给个思路,关键是O(n)

基数排序的思想,
就是空间复杂度比较大。
这里为简单起见,
假设数字都大于0
定义一个65536个元素的数组a,
全初始化其值为true
遍历要进行的寻找的linkedlist
设某一结点的值为k
如果a[k]=false
那么k就是一对相同的数字
否则
a[k] = false;
一直到linkedlist完毕,
时间复杂度为0(n)
期待大牛们给出更好的算法

用Iterator去一个一个读出来就好办了。再来比较是不是重复,也不知道你要做什么的。说具体就好了

好象是不行 最低是o(n2)如果是有序的就比较容易了
直接n和n+1比较就可以了..