螺旋矩阵
【问题描述】
一个n行n列的螺旋矩阵可由如下方法生成:
从矩阵的左上角(第1行第1列)出发,初始时向右移动;
如果前方是未曾经过的格子, 则继续前进,否则右转;
重复上述操作直至经过矩阵中所有格子。根据经过顺序,在格子中依次填入1, 2, 3, ... , n2,便构成了一个螺旋矩阵。
下图是一个n = 4 时的螺旋矩阵。
现给出矩阵大小n以及i和j,请你求出该矩阵中第i行第j列的数是多少。
【题解】
首先,本题有两种思路。
1.老老实实填数组。(此方法简单易懂,但当矩阵过大时,就会出现数组开不够大,或long long也不够的情况)
2. 用算法找规律,但规律不是一般的难找。我就简单说说我找到的规律。