顺时针打印矩阵元素(python实现)

我觉得我的算法比较简单易懂,比网上的那些简单些。至于时间复杂度就没有比较了。

算法思想:从最外层向内层遍历矩阵

# my algorithm
import math def print_matrix(matrix): rec = [] # 存储遍历元素 rows = len(matrix) cols = len(matrix[0]) if rows < cols: k = math.ceil(rows/2) else: k = math.ceil(cols/2) for n in range(k): # 总的循环次数 # 最上边的行循环 i = j = n while j < cols: rec.append(matrix[i][j]) # print(matrix[i][j]) j += 1 # 最右边的列循环 j -= 1 i += 1 while i < rows: rec.append(matrix[i][j]) # print(matrix[i][j]) i += 1 # 最下面的行循环 i -= 1 while j > n: j -= 1 rec.append(matrix[i][j]) # print(matrix[i][j]) # 最左边的列循环 while i > n+1: i -= 1 rec.append(matrix[i][j]) # print(matrix[i][j]) rows -= 1 cols -= 1 return rec

  

人生很长,一秒太短,一个月不长不短刚刚好! 加油少年! ---------LeaningBD
原文地址:https://www.cnblogs.com/mengxiangtiankongfenwailan/p/8761405.html