演算法 蛇形矩陣輸出

2021-07-31 01:10:52 字數 966 閱讀 8914

思路:

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 ...