劍指offer 題目20 順時針列印矩陣

2021-09-07 00:26:27 字數 553 閱讀 7159

輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字,例如,如果輸入如下矩陣:

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.

思路:關鍵注意①每一圈中四條邊的邊界,要每一次都列印到這一條邊的末尾。右邊的策略是錯的,因為在只有一行一列時每一條邊都判定該元素是下一條邊的,導致錯誤。

②下面的邊和左邊的邊還需要判斷跟上面的邊或右邊的邊是否重複。防止只有一行或者只有一列時出現重複。

vector printmatrix(vectorint> >matrix)  

return

ans;

}

劍指offer 題目20 順時針列印矩陣

輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字,例如,如果輸入如下矩陣 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題20 順時針列印矩陣

輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。當我們遇到乙個複雜的問題,可以用圖形來幫助我們思考。1.我們可以用乙個迴圈來列印矩陣,每一次列印矩陣中的乙個圈。2.下一步分析迴圈結束的條件。我們可以分析出,讓迴圈繼續的條件是column startx 2並且rows starty 2。...

劍指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。分析 第一次看到這個題目的時候,覺得...