如何在数组中查找唯一条目

时间:2019-05-29 10:38:44

标签: arrays matrix unique

我有一个程序,可以扫描n个矩阵中的n个以旋转和镜像图像。输出是一个线性数组,该线性数组表示一个展平的下三角矩阵,其中的零和一取决于各个矩阵是否实际上是彼此的旋转/镜像。 给定6个要检查的矩阵,该程序仅检查“必需”的矩阵,而不检查两次。如果是旋转/镜像,则会将该元素设置为1。下面显示了一个示例。

   0   1   2   3   4
1  0
2  0   1 
3  1   0   0
4  1   0   0   1
5  1   0   0   1   1

输出看起来像这样:

[0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1]

通过查看这一点,我们可以看到有两个唯一的矩阵(0和1)。其余都是重复项(3、4、5是重复项0; 2是重复项1)。
我如何才能找到1)从线性输出中获得的唯一矩阵的数量,以及2)仅具有唯一索引最低的唯一矩阵的新集合。

1 个答案:

答案 0 :(得分:0)

该解决方案比我预期的简单得多。通过遍历所有列并标记哪些项是重复项,可以找到唯一项的数量。如果到达列的末尾,计数器将递增。所有标记的列将一起跳过。最后,检查最后一个条目,如果它是一个,则计数器递增。