顺时针打印矩阵 python
生活随笔
收集整理的這篇文章主要介紹了
顺时针打印矩阵 python
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
前言
題目:輸入一個矩陣,按照從外向里以順時針的順序依次打印出每一個數字,例如,如果輸入如下矩陣: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 則依次打印出數字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.
思路
1.我們依次打印每一行
2.打印完了之后,我們需要刪除第一行
3.然后我們需要把整個矩陣逆時針旋轉一下,讓右面的第一列變成上面的第一行
4.知道矩陣為空
代碼
#coding:utf-8
#!/bin/pythonimport sys,osclass Solution():def printMatrix(self, matrix):result = []while matrix:result += matrix.pop(0)if not matrix or not matrix[0]:breakmatrix = self.turn(matrix)return resultdef turn(self, matrix):num_r = len(matrix)num_c = len(matrix[0])new_matrix = []for j in range(num_c):new_col = []for i in range(num_r):new_col.append(matrix[i][j])new_matrix.append(new_col)new_matrix.reverse()return new_matrixdef main():matrix = list(zip(*[iter(range(25))]*5))res = Solution().printMatrix(matrix)print(res)if __name__ == '__main__':main()
參考
https://blog.csdn.net/slibra_l/article/details/78185653
總結
以上是生活随笔為你收集整理的顺时针打印矩阵 python的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 翻转二叉树 c语言实现 递归 栈 队列
- 下一篇: Docker学习(六)-----Dock