劍指Offer19 順時針列印矩陣

2021-09-02 17:54:45 字數 817 閱讀 8631

思路:

可以模擬魔方逆時針旋轉的方法,一直做取出第一行的操作

例如 1 2 3

4 5 6

7 8 9

輸出並刪除第一行後,再進行一次逆時針旋轉,就變成:

6 95 8

4 7繼續重複上述操作即可。

# -*- coding:utf-8 -*-

class solution:

# matrix型別為二維列表,需要返回列表

def printmatrix(self, matrix):

# write code here

result =

while(matrix):

result+=matrix.pop(0) #result=[1 2 3 4]

if not matrix or not matrix[0]:

break

matrix = self.turn(matrix)

return result

def turn(self,matrix):

num_r = len(matrix) #行數

num_c = len(matrix[0]) #列數

newmat =

for i in range(num_c):

newmat2 =

for j in range(num_r):

newmat.reverse()

return newmat #newmat=[[8,12,16],[7,11,15],[6,10,14],[5,9,13]]

膜拜大佬們的思路,好好學習中。

劍指offer 順時針列印矩陣

題目 輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。例如 如果輸入如下矩陣 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。分析 第一次看到這個題目的時候,覺得...

劍指offer 順時針列印矩陣

題目描述 輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字,例如,如果輸入如下矩陣 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.思路 遞迴列印,處理好邊界就ok...

劍指offer 順時針列印矩陣

題目描述 給定乙個矩陣按照順時針順序從外到內的列印這個矩陣 解題思路 設定乙個全域性的方向向量dir其中的順序是向右,向下,向左,向上 每次給行加上乙個方向向量,當出現越界或者已經列印過的時候重新選擇方向 vectorprintmatrix vector matrix int d 0 int row...