思路:
1. 建立n*n的二維陣列。
2. 定義四個填充的方法,分別是→、↓、←、↑。
3. 當需要填充時,確定方向,然後從外向內遍歷找到空缺的位置進行填充。
var print = function
(n)
}var type = 1,
typecount = 4;
var func = getfunc(type);
for (var i = 1; i <= n * n; i++)
j = k = 0;
for (; j < n; j++)
};var getfunc = function
(type)
}//→
var func1 = function
(linearr, n, intnum)
}if (isbreakoutterfor) return intnum - 1;
}return intnum;
}//↓
var func2 = function
(linearr, n, intnum)
}if (isbreakoutterfor) return intnum - 1;
}return intnum;
}//←
var func3 = function
(linearr, n, intnum)
}if (isbreakoutterfor) return intnum - 1;
}return intnum;
}//↑
var func4 = function
(linearr, n, intnum)
}if (isbreakoutterfor) return intnum - 1;
}return intnum;
}print(6);
蛇形矩陣的輸出
題目描述 蛇形矩陣是由1開始的自然數依次排列成的乙個矩陣上三角形。輸入 本題有多組資料,每組資料由乙個正整數n組成。n不大於100 輸出 對於每一組資料,輸出乙個n行的蛇形矩陣。兩組輸出之間不要額外的空行。矩陣三角中同一行的數字用乙個空格分開。行尾不要多餘的空格。樣例輸入 5樣例輸出 1 3 6 1...
《演算法》蛇形矩陣求解
蛇形矩陣 右下,下左,左上,上右,迴圈往復 如果每次迴圈都計算x,y當前的極限值會很耗費效能,不如讓x和y直接越界,當越界的點不存在時,再回退一步,並按照 對方 上次的極限值 最大或最小 去確定 正確的轉向方向 左或右 import time import sys x變化或y變化 x和y只能有乙個工...
螺旋矩陣 蛇形矩陣
問題描述 給定乙個包含m行n列的m x n矩陣,程式設計按照螺旋順序,輸出該矩陣中的所有元素。輸入有多個矩陣。每個矩陣資料的第1行有兩個整數m和n,接著是乙個mxn矩陣的描述,有m行,每行有n個整數 輸出對每個矩陣資料,按照螺旋順序輸出矩陣陣列的元素。輸入樣例 3 31 2 3 4 5 6 7 8 ...