螺旋矩陣 JAVA

2021-09-24 03:43:13 字數 796 閱讀 3400

題目:

給定乙個包含 m x n 個元素的矩陣(m 行, n 列),請按照順時針螺旋順序,返回矩陣中的所有元素。

示例 1:

輸入:[

[ 1, 2, 3 ],

[ 4, 5, 6 ],

[ 7, 8, 9 ]

]輸出: [1,2,3,6,9,8,7,4,5]

示例 2:

輸入:[

[1, 2, 3, 4],

[5, 6, 7, 8],

[9,10,11,12]

]輸出: [1,2,3,4,8,12,11,10,9,5,6,7]

解答

/**

將矩陣分為n層從外向內走,根據最內層為一行(單個元素)、一列的不同情況進行判斷。

對於這種螺旋遍歷的方法,重要的是要確定上下左右四條邊的位置,那麼初始化的時候,

上邊top就是0,下邊botton就是matrix[0].length - 1,左邊left是0,右邊right是matrix[0].length - 1。

然後我們進行while迴圈,先遍歷上邊,將所有元素加入結果list,

然後遍歷右邊、下邊、左邊,一次加入到list中

如果left < right && top < botton不滿足,就退出while迴圈,下面進行剩餘行或者剩餘列的判斷

比較直觀,就是一道實現題

**/class solution

if(top == botton)else if(left == right)

return list;

}}

螺旋方針(螺旋矩陣)

螺旋方陣 time limit 1000ms memory limit 65536kb problem description 的螺旋方陣當n 5和n 3時分別是如下的形式 請給出乙個程式,對於任意的輸入 0 11 輸出按照上面規律所獲得的 的螺旋方陣。input 輸入第一行為整數 0 10 代表有...

螺旋矩陣 蛇形矩陣

問題描述 給定乙個包含m行n列的m x n矩陣,程式設計按照螺旋順序,輸出該矩陣中的所有元素。輸入有多個矩陣。每個矩陣資料的第1行有兩個整數m和n,接著是乙個mxn矩陣的描述,有m行,每行有n個整數 輸出對每個矩陣資料,按照螺旋順序輸出矩陣陣列的元素。輸入樣例 3 31 2 3 4 5 6 7 8 ...

列印螺旋矩陣

首先,看一下螺旋矩陣的樣子.如下圖 求螺旋陣列的 如下 dev cpp平台 include using namespace std int alloc mat int round 動態二維陣列的分配 void del mat int mat,int round 刪除動態分配的二維陣列 void pr...