【发布时间】:2011-09-07 12:19:00
【问题描述】:
我不记得在大学的日子里,比较两个未排序的 int 数组并找到匹配数的方法? 每个值在其自己的数组中都是唯一的,并且两个数组的大小相同。
例如
int[5] a1 = new []{1,2,4,5,0}
int[5] a2 = new []{2,4,11,-6,7}
int numOfMatches = FindMatchesInPerformanceOfNLogN(a1,a2);
有人记得吗?
【问题讨论】:
-
数组中的值是否有上限,内部是否可以有相同的值?对于未绑定的值,恕我直言,没有比 2* 排序 (= O(n log n)) 和比较 (= O(n)) -> O(n log n) 更好的解决方案
-
一次排序(n log n)和一次二等分搜索(n 个元素 * log n)?
-
对这里的答案进行了一些投票,以弥补(在我看来)无故否决所有答案的人。
-
请问你如何比较 n*log(n) ?
标签: c# arrays algorithm data-structures