直接上代码吧。
昨晚腾讯在线测试遇到的题。
螺旋矩阵是指一个呈螺旋状的矩阵,它的数字由第一行开始到右边不断变大,向下变大,
向左变大,向上变大,如此循环。
import java.util.Scanner;
public class mysnakematrix {
private int n; //
private int a[][]; // 声明一个矩阵
private int value = 1;// 矩阵里数字的值
public mysnakematrix(int i) {
this.n = i;
a = new int[n][n];
}
// 计算第m层左上角的数字
private int getcorner(int m) {
int corner = 1;
int o = n - 1;
for (int i = 0; i < m - 1; ++i) {
corner += 4 * o;
o = o - 2;
}
return corner;
}
// 生成矩阵的每一层的每一边的数
// s表示4个方向,分别取值1,2