首页 > 编程 > Python > 正文

python实现顺时针打印矩阵

2020-01-04 13:33:57
字体:
来源:转载
供稿:网友

面试题之顺时针打印矩阵,Python实现,供大家参考,具体内容如下

问题描述:

输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,输入如下矩阵:

 python,顺时针,打印,矩阵

则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.

思路:每次打印并删除矩阵的第一行,然后将矩阵逆时针翻转90度,直至打印出全部结果

具体代码实现如下:

# coding:utf-8class Solution(object):  def printMatrix(self, matrix):    # 打印矩阵    result = []    while matrix:      result += matrix.pop(0)      if matrix:        matrix = self.rotate(matrix)    return result  def rotate(self, matrix):    # 逆时针旋转矩阵    row = len(matrix)    col = len(matrix[0])    # 存放旋转后的矩阵    new_matrix = []    # 行列调换    for i in range(col):      new_line = []      for j in range(row):        new_line.append(matrix[j][col-1-i])      new_matrix.append(new_line)    return new_matrixif __name__ == '__main__':  # 测试代码  matrix = [    [1,2,3,4],    [5,6,7,8],    [9,10,11,12],    [13,14,15,16]  ]  solution = Solution()  result = solution.printMatrix(matrix)  print(result)

如有错误,欢迎指正和交流。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。


注:相关教程知识阅读请移步到python教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表