给一个数,输出回形数组。
例如:
输入 2 ,打印
1 2
4 3,
输入3 ,打印
1 2 3
8 9 4
7 6 5
每个人的思路不一样。这里仅供参考分享。
首先是找规律,循环执行的话要看执行了多少次,发现执行次数是 2*n-1 次。
在输入数字 大于3 的情况下 会在 四个方向执行,那么就记录 需要执行 坐标就好了。
很久不做题了,稍微花了点时间。
static public void printMatrix(int size) {
int[][] nums = new int[size][size];
//需要循环 的次数 2*num -1
//四个方向 这里假设 n>3
// 1 2 3
// 8 9 4
// 7 6 5
// 首先是一共循环 5 次
// 向右 -> 第 1 ,5 次,向下 第2次,向左 第3次 向上 第4次
// 再次循环时 次数相当于已经执行了 4次之后的
// 所以进行取余操作 。1 向右 2向下 3向左 4向下
int sum