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 23using
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 思路 同樣是通過兩點來確定範圍,每次列印的斜線實際上是兩個點所在直...