最近在笔试中遇到一道蛇形矩阵的题,笔试时没做出来,回来思考良久才终于琢磨出来,解法并不是最优,只是留在此处备忘!
常见的蛇形矩阵是Z型矩阵,如:
1 2 4
3 5 7
6 8 9
我笔试时遇到的是环形循环矩阵,如:
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
一开始一直没找到规律,想了很久之后,发现每次行列切换(拐角)是可以用表达式很好的表达的。发现规律后,代码也就很简单的出来;如下:
void fillSnakeArr()
{
i