检查矩阵的所有行是否在 Python 中彼此循环旋转
假设,我们提供了一个大小为n*n的矩阵,其中包含整数。我们必须找出该矩阵的所有行是否都是其前一行的圆形旋转。在第一行的情况下,应该是第n行的圆周旋转。
所以,如果输入是这样的
那么输出将为True。
示例
让我们看看以下实现以获得更好的理解-
def solve(matrix) :
concat = ""
for i in range(len(matrix)) :
concat = concat + "-" + str(matrix[0][i])
concat = concat + concat
for i in range(1, len(matrix)) :
curr_row = ""
for j in range(len(matrix[0])) :
curr_row = curr_row + "-" + str(matrix[i][j])
if (concat.find(curr_row)) :
return True
return False
matrix = [['B', 'A', 'D', 'C'],
['C', 'B', 'A', 'D'],
['D', 'C', 'B', 'A'],
['A', 'D', 'C', 'B']]
print(solve(matrix))输入
[['B', 'A', 'D', 'C'], ['C', 'B', 'A', 'D'], ['D', 'C', 'B', 'A'], ['A', 'D', 'C', 'B']]输出结果
True