螺旋矩陣 C

2021-09-29 16:48:09 字數 1029 閱讀 1664

問題:

給定乙個包含 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]

思路:

螺旋矩陣的問題要像剝洋蔥一樣將矩陣分層級,每個層級涉及到四個動作,分別是右,下,左,上行走,每次都要走到該層級的盡頭,行走的時候要注意層級的邊界問題,以下**條理很清晰,大多都是邊界處理,可以仔細品味。

評價:

該思路很清晰,對於邊界處理的非常完美,**一次性寫完,執行直接通過,大腦飛速旋轉的感覺非常爽!!!

public class solution 

ilistresult = new list();

int all = matrix.length * matrix[0].length;

int count = 0;

int layer = 0;

int p = 0;

int p1 = 0;

while(true)

//左走

while(p1-layer>=0)

if(count >= all)

p1++;

p--;

//上走

while(p-layer-1>=0)

p++;

p1++;

if(count >= all)

//層級增加

layer++;

}return result;

}}

螺旋矩陣 C語言

題目 給定乙個數n,生成乙個包含1 n 2 的螺旋形矩陣.螺旋由外向內順時針旋轉,可參照樣例 樣例 1 輸入 3 輸出 1,2,3 8,9,4 7,6,5 解題思路 主要 一圈一圈遍歷矩陣。邊界處理。矩陣的上下左右邊界。邊界處理 int shang,xia,zuo,you shang 0 xia n...

螺旋方針(螺旋矩陣)

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

列印螺旋矩陣(C語言)

本博文主要給大家介紹的是正方形的螺旋矩陣,因為這個螺旋矩陣是最簡單的,我之後再把其他型別的螺旋矩陣寫成部落格和大家一起交流。思路如下 首選,我們得知道有有多少個 螺旋 乙個n維矩陣有n 2 n為偶數 或n 2 1 n為奇數 個 其次,列印乙個每個 旋 的步驟是,列印第i行,然後是第n i 1列,再然...