題目描述:輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數
字,例如,如果輸入如下 4x4 矩陣:
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(n),空間複雜度:o(n),其中 n 表示矩陣元素個數
public listspiralorder(int matrix)
int r1 = 0, r2 = matrix.length - 1;
int c1 = 0, c2 = matrix[0].length - 1;
while (r1 <= r2 && c1 <= c2)
// 從上往下
for (int r = r1 + 1; r <= r2; r++)
// 判斷是否會重複列印
if (r1 < r2 && c1 < c2)
// 從下往上
for (int r = r2; r > r1; r--)
} r1++;
r2--;
c1++;
c2--;
} return res;
}
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.列印第一圈的左上角座標是 0,0 第二圈的...
順時針列印矩陣
輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。例如 如果輸入如下矩陣 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,然而實際去做的時候會發現,如果結構劃分的不好,會出現很多的迴圈,而且包括對各種...