Sto cercando di capire un modo efficiente per determinare se due matrici distinte della stessa dimensione possono essere spostate per formare la stessa coda circolare. Ad esempio:
Array1 = ['A','B','C','D']
Array2 = ['D','A','B','C']
Può formare lo stesso cerchio se entrambe le estremità sono unite insieme:
Ho pensato che un modo sarebbe stato di passare in rassegna uno degli array mentre uno rimane costante, ad esempio:
while Array1 is not = Array2 and iterations < Length of Array1
temporary = Array1[last]
for index is 0, add 1, before index = last
temporary[index] becomes temporary[index+1]
Array1[0] = temporary
if Array1 == Array2 return TRUE
return FALSE
C'è un modo più efficiente? Avrei bisogno di fare questo controllo per diversi array tra loro e rimuovere i duplicati. Sarebbe gradito un linguaggio semplice, uno pseudocodice o una struttura / codice dati Python / C #.