题目要求:打印如下数字矩阵
01 02 03 04 05
16 17 18 19 06
15 24 25 20 07
14 23 22 21 08
13 12 11 10 09
工作之余,前辈总会给笔者介绍点“对象”。
前日,前辈放下咖啡,看那一圈圈的波纹,四有所悟,于是闭目修心。
前辈三省龙体之后,不忘恩泽小辈,豪墨一挥,一个”对象“脱纸而出。
笔者赶紧拜谢,牵了这新”对象“,躺椅而卧,入木三分。
“对象“、”对象“你在哪里。周杰棍唱过”对象就是龙卷风“,转得某晕头转向,不辨西东。
前辈的帖子http://www.cnblogs.com/wangchenggen/p/3558543.html
笔者四眼田鸡一头。路遇美女,只看到一个修长的影子从远到近再到远。这是个凄美的过程,根本就没有我要的对象。
于是乎,先来谈谈笔者对过程的理解。
0.直接的做法
size*size的矩阵初始化为0,开始向→走,当x,y越界或者a[x][y]已经有非0数字时,换个方向继续。简单的迷宫走法。
此方法不作详解,各位大侠都晓。悟道悟道,与众不同,以下为不寻常之路,或增麻烦。
1.找规律。
好吧,笔者没找到,空余水杯画圈圈。
2.死磕。
死磕是最简单,最直接的方法,也是不见对象,只有过程。
来吧,跟着笔者画圈圈,诅咒灰太狼。
size矩阵大小。
首先,美女向前走了size步,
然后,向下转弯,走了(size-1)步,
再然后……
size为5的情况下
方向 长度
→ 5
↓ 4
← 4
↑ 3
→ 3
↓ 2
← 2
↑