這個標題沒有完整地描述我的意思,但我不能想出一個更好的。讓我來形容我的問題。我有一個數組有許多數組作爲其元素。它看起來像如何刪除重複的矩陣(以數組表示)?
[
[a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p],
[i, j, k, l, m, n, o, p, a, b, c, d, e, f, g, h],
[m, i, e, a, n, j, f, b, o, k, g, c, p, l, h, d],
...
]
事實上,每一個元素都代表一個矩陣,這樣你就可以瞭解上層數組
[
+- -+
| a, b, c, d |
| e, f, g, h |
| i, j, k, l | // matrix1
| m, n, o, p |
+- -+ ,
+- -+
| i, j, k, l |
| m, n, o, p |
| a, b, c, d |
| e, f, g, h |
+- -+ ,
+- -+
| m, i, e, a |
| n, j, f, b | // matrix2
| o, k, g, c |
| p, l, h, d |
+- -+ ,
...
]
我的數組是超級集合中的所有矩陣組成的字母a最佳。陣列中的某些矩陣被認爲是重複的。如果通過兩個對角線水平,垂直地翻轉矩陣,或將它旋轉90,180,270度並且結果矩陣包含在我的數組中,則這兩個矩陣被認爲是「重複的」。例如,如果將matrix1順時針旋轉90度,則會得到matrix2。所以matrix2和matrix1被認爲是重複的。我們只需要其中一個。我的問題是,什麼是最好的(最簡單的)方法來刪除我的原始數組中的副本(哪一個被刪除,哪一個被保留不是問題,你只保留其中之一)?
謝謝。
好主意,我會試試看。謝謝。 –