leetcode 螺旋矩陣 二維陣列

2021-10-06 03:34:56 字數 834 閱讀 9311

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

思路

判斷出路線都是有固定方向的 先→再↓再←再↑再→…一直迴圈到沒有數字。

有4個方向邊界 當觸及邊界時即按固定方向轉向,且其對應的邊界值向內收縮1

若沒觸及邊界,就按自身方向繼續行走,直到座標值觸邊界/數字全部遍歷過。

var

spiralorder

=function

(matrix)

}else

if(turn==

'd')

}else

if(turn==

'l')

}else

if(turn==

'u')}}

return res

};

LeetCode 搜尋二維矩陣

編寫乙個高效的演算法來判斷 m x n 矩陣中,是否存在乙個目標值。該矩陣具有如下特性 每行中的整數從左到右按公升序排列。每行的第乙個整數大於前一行的最後乙個整數。示例 1 輸入 matrix 1,3,5,7 10,11,16,20 23,30,34,50 target 3 輸出 true示例 2 ...

二維陣列動態分配and螺旋矩陣

前陣子碰到個面試題感覺還挺有意思,讓寫個螺旋矩陣,當時時間緊寫的還挺粗糙的,回家以後又重新完善了下。include using namespace std int main 動態分配二維陣列 int matrix new int n for i 0 i n i int m,k j 0 m n int...

LeetCode 搜尋二維矩陣II

編寫乙個高效的演算法來搜尋 m x n 矩陣 matrix 中的乙個目標值 target。該矩陣具有以下特性 每行的元素從左到右公升序排列。每列的元素從上到下公升序排列。示例 現有矩陣 matrix 如下 1,4,7,11,15 2,5,8,12,19 3,6,9,16,22 10,13,14,17...