LeetCode第五十四題 螺旋矩陣 JAVA

2021-09-24 12:51:27 字數 623 閱讀 9061

問題簡介:

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

解法一:

確定上下左右四條邊的位置,在初始化的時候,上邊up就是0,下邊down就是m-1,左邊left是0,右邊right是n-1,然後我們進行while迴圈,先遍歷上邊,將所有元素加入結果res,然後上邊下移一即一行,如果此時up大於down,代表遍歷結束break。

class solution 

return res;

}}

複雜度分析:

時間複雜度:o(n)遍歷一遍二維陣列

空間複雜度:o(n)儲存排序後的二維陣列

小白刷題之路,請多指教— — 要麼大器晚成,要麼石沉大海

解題思路 leetcode第五十四題 螺旋矩陣

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

重返oi第五十四天有感

時間過得太 快了。即使初三的普及組oi成績真的是不堪入目,高一開學後還是因為 熱愛 又踏上了提高組征程,到現在共計五十四天。開學的時候,我和很多同學一樣,都在四門主課競賽和oi之間做過讓人 的思想鬥爭 什麼時候竟然忘記了要選擇其他競賽的想法。五十多天,才發現我已經離不開oi,在題庫上coding的快...

解題思路 leetcode第五十九題 螺旋矩陣

給定乙個正整數 n,生成乙個包含 1 到 n2 所有元素,且元素按順時針順序螺旋排列的正方形矩陣。示例 輸入 3 輸出 1,2,3 8,9,4 7,6,5 解題思路 本題採用迴圈賦值的方法,其關鍵之處如何對提前建立的列表進行螺旋遍歷並賦值,本題通過設定兩個標誌位實現遍歷的過程中轉向,程式設定a,b,...