Archive

Archive for October 18th, 2011

三角螺旋矩阵

October 18th, 2011 leeing No comments

据说是Yahoo的一道题,题目如下:

打印如下矩阵,如果 n=7 则输出:

1
2	18
3	19	17
4	20	27	16
5	21	28	26	15
6	22	23	24	25	14
7	8	9	10	11	12	13

 

注意观察可知,数字增加的方向及走过的步数是有规律的:

 

向下 7 步
向右 6 步
斜上 5 步
向下 4 步
向右 3 步
斜上 2 步
向下 1 步

 

所以可以设定的一个变量 direction 记录方向的变化,循环变化。

同时根据 direction 的不同,来决定每次的递增位置。

Read more…

Categories: Java, 面试 Tags: ,