之字形列印矩陣

2022-06-04 00:51:16 字數 1075 閱讀 9194

problem:

「之」字形列印矩陣【題目】 給定乙個矩陣matrix,按照「之」字形的方式列印這個矩陣,

例如: 1 2 3 4 5 6 7 8 9 10 11 12

「之」字形列印的結果為:1,2,5,9,6,3,4,7,10,11,8,12

【要求】 額外空間複雜度為o(1)

solution:

使用a,b兩個座標,初始值為(0,0),(0,0),a,b的連線為之字形的斜線

a移動方向為向右走,b移動方向為向下走,a到最右邊了就向下走,b到最下面了就向右走

使用乙個bool值,判斷是向右上方方向遍歷a-b直線,還是向左下角方向遍歷a-b直線a |

b- 1  2  3  4

5  6  7  8

9  1   0  5

code:

1 #include 2

3using

namespace

std;

45 template

6void ziprint(const t arr, const

int x, const

inty)

723 flag = false;24

}25else

//向左下角方向遍歷

2634 flag = true;35

}36//更新a,b

37if (ay < y - 1

)38 ay += 1;39

else

40 ax += 1;41

42if (bx < x - 1

)43 bx += 1;44

else

45 by += 1;46

47}48 cout <4950}51

52void

test()53;

55 ziprint(aa, 3, 4

);56 }

「之」字形列印矩陣

package class 03 之 字形列印矩陣 題目 給定乙個矩陣matrix,按照 之 字形的方式列印這個矩陣,例如 1 2 3 4 5 6 7 8 9 10 11 12 之 字形列印的 結果為 1,2,5,9,6,3,4,7,10,11,8,12 要求 額外空間複雜度為o 1 public ...

「之」字形列印矩陣

題目 給定乙個矩陣matrix,按照 之 字形的方式列印這個矩陣,例如 1 2 3 4 5 6 7 8 9 10 11 12 之 字形列印的結果為 1,2,5,9,6,3,4,7,10,11,8,12 解題思路 採用兩個函式,乙個用於遍歷斜行,得到斜行左下角座標和右上角座標,另乙個函式用於列印兩個座...

「之」字形列印矩陣

題目 給定乙個矩陣matrix,按照 之 字形的方式列印這 個矩陣,例如 1 2 3 4 5 6 7 8 9 10 11 12 之 字形列印的結果為 1,2,5,9,6,3,4,7,10,11,8,12 要求 額外空間複雜度為o 1 思路 同樣是通過兩點來確定範圍,每次列印的斜線實際上是兩個點所在直...