問題簡介:
給定乙個 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,...