思路:
首先判斷迴圈退出的條件: 5x5 矩陣 [2][2] 6*6 [2][2] 只要col> 2*k && row> 2*k[k][k]最後一次列印的起始位置
然後迴圈
列印陣列:
上面一行:沒有限制條件
右面一列:只有中止行數》起始行數
下面一行:中止行數》起始行數 && 中止列數》起始列數至少兩行兩列
最左邊一列:中止行數》(起始行數-1) && 中止列數》起始列數至少三行兩列
利用k控制迴圈列印的輪次,求出當前列印輪次的中止endx,endy;控制列印的條件
public arraylistprintmatrix(int matrix)
int m=matrix.length;
int n=matrix[0].length;
// 控制迴圈的輪次
int k=0;
while(m > 2*k && n> 2*k)
// 從上到下
if(endx>k)
}// 從右到左
if(endx>k && endy>k)
}// 從下到上
if(endx>(k+1) && endy>k)
}k++;
}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,1,10 我的 如下 ...
順時針轉圈列印陣列
所謂順時針轉圈列印數字,即從外往內列印陣列,一圈一圈地列印,這是劍指offer的第20題。這個題的思路是這樣的 首先,列印的條件是rows 2 start and cols 2 start,然後把列印一圈分為四步 首先從左到右列印一行,這一步是任意情況都要執行的,即使只有1行1列 然後從上到下列印一...
演算法題 順時針列印陣列
思路 1.一圈圈的列印,開始點為左上角 0,0 1.第一圈 0,0 2.第二圈 1,1 3.第n圈 n,n 2.總共可以列印多少圈,n為行與列的一半,超出就終止 python實現 def print one circle array input,rows,cols,start ret if len ...