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