python實現(xiàn)順時針打印矩陣
面試題之順時針打印矩陣,Python實現(xiàn),供大家參考,具體內(nèi)容如下
問題描述:
輸入一個矩陣,按照從外向里以順時針的順序依次打印出每一個數(shù)字,例如,輸入如下矩陣:

則依次打印出數(shù)字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.
思路:每次打印并刪除矩陣的第一行,然后將矩陣逆時針翻轉(zhuǎn)90度,直至打印出全部結(jié)果
具體代碼實現(xiàn)如下:
# coding:utf-8
class 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):
# 逆時針旋轉(zhuǎn)矩陣
row = len(matrix)
col = len(matrix[0])
# 存放旋轉(zhuǎn)后的矩陣
new_matrix = []
# 行列調(diào)換
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_matrix
if __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)
如有錯誤,歡迎指正和交流。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python中reduce()函數(shù)的語法參數(shù)與作用詳解
這篇文章主要介紹了Python中reduce()函數(shù)的語法參數(shù)與作用詳解,reduce函數(shù)是通過函數(shù)對迭代器對象中的元素進(jìn)行遍歷操作,Python3.x中reduce函數(shù)已經(jīng)從內(nèi)置函數(shù)中取消了,轉(zhuǎn)而放在functools模塊中,需要的朋友可以參考下2023-08-08
python3實現(xiàn)mysql導(dǎo)出excel的方法
這篇文章主要介紹了python3實現(xiàn)mysql導(dǎo)出excel的方法,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值 ,需要的朋友可以參考下2019-07-07
python進(jìn)程和線程用法知識點(diǎn)總結(jié)
在本篇文章里小編給大家整理了關(guān)于python進(jìn)程和線程用法以及相關(guān)實例內(nèi)容,需要的朋友們跟著學(xué)習(xí)下。2019-05-05
使用python繪制人人網(wǎng)好友關(guān)系圖示例
這篇文章主要介紹了使用python繪制人人網(wǎng)好友關(guān)系圖示例,需要的朋友可以參考下2014-04-04
兩個元祖T1=(''a'', ''b''),T2=(''c'', ''d'')使用匿名函數(shù)將其轉(zhuǎn)變成[{''a'': '
今天小編就為大家分享一篇關(guān)于兩個元祖T1=('a', 'b'),T2=('c', 'd')使用匿名函數(shù)將其轉(zhuǎn)變成[{'a': 'c'},{'b': 'd'}]的幾種方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03

