检查矩阵的所有行是否在 Python 中彼此循环旋转

假设,我们提供了一个大小为 n*n 的矩阵,其中包含整数。我们必须找出该矩阵的所有行是否都是其前一行的圆形旋转。在第一行的情况下,应该是第n行的圆周旋转。

所以,如果输入是这样的

B一种DC
CAD
DCB一种
ADC

那么输出将为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

以上是 检查矩阵的所有行是否在 Python 中彼此循环旋转 的全部内容, 来源链接: utcz.com/z/317485.html

回到顶部