題目:
給定乙個包含 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...