轉圈列印矩陣

2021-09-16 23:22:51 字數 787 閱讀 8962

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

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

這個題的解法很簡單,就是矩陣分圈處理,每次都要列印最外層的一圈,最外圈左上角座標(0,0),右下角座標(3,3)可以表示這個矩陣。每次只要將最外層的一圈用左上角和右下角兩個點的座標表示出來。

1   2   3   4

5             8

9             12

13 14 15  16

要考慮的特殊情況是只剩一行或者一列。此時就只需要從左往右輸出或者從上到下輸出就可以了。

主要**如下

public static void spiralorderprint(int arr)

}

private static void printmatrixcircle(int matrix, int tr, int tc, int dr, int dc) 

}else if (tc == dc)

}else

while (curr != dr)

while (curc != tc)

while (curr != tr)

}}

轉圈列印矩陣

題目 給定乙個整型矩陣matrix,請按照轉圈的方式列印它。例如 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 要求 額外空間複雜度為o 1 難度 1星 coding utf 8...

轉圈列印矩陣

題目 給定乙個整形矩陣matrix,請按照轉圈的方式列印它。例如 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 要求 額外空間複雜度為o 1 分析 如果把思路限制在區域性座標怎麼...

轉圈列印矩陣

題目 給定乙個整型矩陣matrix,請按照轉圈的方式列印它。例如 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 要求 額外空間複雜度為o 1 思路 巨集觀代替微觀的思想 1 先列...