Algorithm 順序列印矩陣 美團四面

2021-06-26 01:41:01 字數 785 閱讀 3811

/********************************

順時針列印矩陣:

思路:1.首先判斷迴圈條件:每次一圈開始時,左上角橫縱座標一樣,所以可以作為迴圈條件col>2*start,row>2*start

2.列印每一圈

a.第一步總是要打的

b.第二步需要有兩行才進行

c.第三步至少兩行兩列

d.第四步至少三行兩列

***********************************/

#include "stdafx.h"

#includeusing namespace std;

void printmatrixincircle(int ** number,int cols,int rows,int start);

void printmatrix(int ** number,int rows,int cols)

}void printmatrixincircle(int ** number,int cols,int rows,int start)

cout <=start;i--)

cout << number[endy][i];

} cout cout << number[i][start]; }}

int _tmain(int argc, _tchar* argv) }

printmatrix(arr,n,n);

system("pause");

return 0;

}

順序列印矩陣

題目 輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。例如 如果輸入如下矩陣 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。分析 第一次看到這個題目的時候,覺得...

3 5 力扣順序列印矩陣

思路 1 規定4個方向陣列 決定下一次的前進方向 2 建立訪問陣列,標記每個陣列是否訪問過 注意改變前進方向的條件 下乙個陣列行超限 列超限 len 0 下乙個位置遍歷過 class solution int row matrix.length int col matrix 0 length int...

按「之」字形順序列印矩陣(演算法)

列印結果為 4,5,6,1,6,6,9,3,7。要求額外空間複雜度為o 1 演算法思想 根據上例容易觀察出之字形可以拆分成列印上圖直線上的數字,只需將列印方向改變就可以滿足題目要求。設定兩個初始點a和b,同時讓點a向右移動,點b向下移動,當a移動到右邊界時再繼續向下移動,當b移動到下邊界時再向右移動...