【发布时间】:2015-03-14 15:25:23
【问题描述】:
需要编写检查矩阵[1000][1000]中重复元素的函数。如果找到任何重复元素,则返回 True,否则返回 False。
我认为需要通过两个步骤来解决: 1.将矩阵中的每个元素从小到大排序(在排序过程中我们可以检查元素是否相等)例如使用归并排序。 2. 从矩阵的第一个元素到最后一个元素,逐个比较前一个元素和下一个元素。
这个解决方案的效率是否足够好?
【问题讨论】:
-
@JerryGoyal OP 包含标签“c”而不是 c++
-
如果够快就够快了... 最明显、最不优化的解决方案有时也够快。我们无法为您回答这个问题。写出你的算法。确保它是正确的。然后分析并决定是否应该加快速度。
-
如果您要查找的只是重复的,您可以将矩阵折叠成一个数组(即 2D 到 1D),然后排序,然后比较连续元素是否相等。
标签: c arrays algorithm sorting matrix