我有一个程序,可以扫描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)仅具有唯一索引最低的唯一矩阵的新集合。
答案 0 :(得分:0)
该解决方案比我预期的简单得多。通过遍历所有列并标记哪些项是重复项,可以找到唯一项的数量。如果到达列的末尾,计数器将递增。所有标记的列将一起跳过。最后,检查最后一个条目,如果它是一个,则计数器递增。