leetcode刷題 面試題29 順時針列印矩陣

2021-10-06 20:28:50 字數 1059 閱讀 7276

輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。

示例 1:

輸入:matrix =[[

1,2,

3],[

4,5,

6],[

7,8,

9]]輸出:[1,

2,3,

6,9,

8,7,

4,5]

示例 2:

輸入:matrix =[[

1,2,

3,4]

,[5,

6,7,

8],[

9,10,

11,12]

]輸出:[1,

2,3,

4,8,

12,11,

10,9,

5,6,

7]

思路:

按照題意,環形輸出,分四個邊界,上下左右,分別用四個變數表示start_row,cur_max_row,start_col,cur_max_row,四個值都是動態變化的,到了右邊界就向下走,上邊界+1,到了下邊界就向左走,右邊界-1,到了左邊界就向上走,下邊界-1,到了上邊界就向右走,左邊界+1。

迴圈條件就是右邊界比左邊界大且下邊界比上邊界大,當同時相等,說明就剩下乙個元素了,直接列印即可,當右=左或上=下,說明只剩下一列或者一行,然後順序列印即可。

**

class

solution

//只剩乙個元素

if(cur_max_col == start_col&&cur_max_row == start_row)

ans.

push_back

(matrix[row]

[col]);

else

return ans;}}

;

注意事項:

指標位置,因為使用++或–,指標位置要注意

邊界位置/。

LeetCode刷題之面試題29 順時針列印矩陣

我不知道將去向何方,但我已在路上!示例 1 輸入 matrix 1,2,3 4,5,6 7,8,9 輸出 1,2,3,6,9,8,7,4,5 示例 2 輸入 matrix 1,2,3,4 5,6,7,8 9,10,11,12 輸出 1,2,3,4,8,12,11,10,9,5,6,7 class s...

快手面試題刷題 9 16

一面 自我介紹 專案tcp三次握手 tcp四次揮手 udp tcp區別 輸入乙個 名稱,各層發生了什麼 http和https的區別 c 堆疊 c vector list map unordered map底層實現原理 一道智力題 演算法 二叉樹列印第k層 bfs 鍊錶複製 每個煉錶帶帶random節...

刷php面試題

在mysql中乙個資料庫中可以同時存在多種引擎,儲存引擎是針對表的。事物 myisam 不支援事物 innode 支援事物 儲存空間 myisam 的表儲存成3個檔案。檔案的名字與表名相同,frm檔案儲存表的結構,myd檔案儲存資料,myi檔案儲存索引。innode 所有的表都儲存在同乙個資料檔案中...