面試題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
。我的**如下:
#include
#define
row 4
#define
col 4
void
printfmatrix(
intarr[col])
flag=
false;
j--; }
else
if(i
i--; }
else
if(i == row-1-k && j == col-1-k)
flag=
true;
j++; }
else
if(i>j)
i++;
j++; }
k1++;
k=k1/4; if
(i == ((row/2)+1) && k != 0)
} }
intmain() ;
printfmatrix(arr);
} 執行結果如下:
順時針轉圈列印陣列
所謂順時針轉圈列印數字,即從外往內列印陣列,一圈一圈地列印,這是劍指offer的第20題。這個題的思路是這樣的 首先,列印的條件是rows 2 start and cols 2 start,然後把列印一圈分為四步 首先從左到右列印一行,這一步是任意情況都要執行的,即使只有1行1列 然後從上到下列印一...
4 陣列 順時針列印陣列
思路 首先判斷迴圈退出的條件 5x5 矩陣 2 2 6 6 2 2 只要col 2 k row 2 k k k 最後一次列印的起始位置 然後迴圈 列印陣列 上面一行 沒有限制條件 右面一列 只有中止行數 起始行數 下面一行 中止行數 起始行數 中止列數 起始列數至少兩行兩列 最左邊一列 中止行數 起...
演算法題 順時針列印陣列
思路 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 ...