輸入乙個矩陣,按照從外向裡以順時針的順序依次列印出每乙個數字。
示例 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 所有的表都儲存在同乙個資料檔案中...