function hehe(n) {
var item = new Array(n);
var ceng = [];
for(var i = 0; i < n; i ++) {
var h = item[i] = new Array(n);
for(var j = 0; j < n; j ++) {
var en = Math.min(i,j,n-1-j,n-1-i);
var hai = 0;
for(var k = 0; k < en; k ++) {
hai += haha(n - en + 1);
}
h[j] = hai + lala(i-en, j-en, n-en*2);
}
}
for(var i = 0; i < n; i ++) {
console.log(item[i].join(' '));
}
}
function lala(x,y,n){
if(n < 1) n = 1;
if(x === 0){
return y + 1;
}else if(y === n-1){
return n + x;
}else if(x === n-1){
return 3*n - y - 2;
}else if(y === 0){
return haha(n) - x + 1;
}
}
function haha(x) {
return (x - 1) * 4;
}
function getMatrix(n) {
var matrix = Array.from({length: n }, function() {return []});
var num = 1,
rowbegin = 0,
rowend = n - 1,
colbegin = 0,
colend = n - 1;
while (rowbegin <= rowend && colbegin <= colend) {
for (var i = colbegin; i <= colend; i++) matrix[rowbegin][i] = num++;
rowbegin++;
for (var i = rowbegin; i <= rowend; i++) matrix[i][colend] = num++;
colend--;
for (var i = colend; i >= colbegin; i--) matrix[rowend][i] = num++;
rowend--;
for (var i = rowend; i >= rowbegin; i--) matrix[i][colbegin] = num++;
colbegin++;
}
return matrix
}
console.log(getMatrix(3))