AcWing 40 順時針列印矩陣

2021-09-12 03:45:34 字數 683 閱讀 5952

題目描述:

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

樣例

輸入:

[ [1, 2, 3, 4],

[5, 6, 7, 8],

[9,10,11,12]

]輸出:[1,2,3,4,8,12,11,10,9,5,6,7]

分析:

方法一:

首先當模擬題暴力模擬一遍,鍛鍊下思維。

class solution 

i++,j--;

while(i < m && !vis[i][j])

j--,i--;

while(j >= 0 && !vis[i][j])

i--,j++;

while(i >= 0 && !vis[i][j])

i++,j++;

}return v;

}};

方法二:

使用方向向量,簡化下思路。和方法一一樣,訪問過的數都成為了邊界,注意這裡for迴圈內矩陣行列號變換的細節。

class solution ,dy = ;

for(int k = 0;k < m * n;k++)

a = x,b = y;

}return v;

}};

順時針列印矩陣

輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。例如 如果輸入如下矩陣 1 2 3 45 6 7 89 10 11 1213 14 15 16則依次列印出數字 1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。這個題目 寫的並不好感覺,好多if看著就煩,就是...

順時針列印矩陣

題目 給定乙個矩陣,從外向內順時針列印矩陣中的每乙個數字。例如 給定矩陣 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 輸出應該為 分析 這道題的意思非常直觀,給人的感覺也是so easy,然而實際去做的時候會發現,如果結構劃分的不好,會出現很多的迴圈,而且包括對各種...

順時針列印矩陣

from 題目 輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。例如 如果輸入如下矩陣 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。網上聽說聽到包括autod...