給你乙個 m 行 n 列的矩陣 matrix ,請按照順時針螺旋順序 ,返回矩陣中的所有元素。
示例 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]
按矩陣劃分,每個矩陣按照順時針新增到向量裡。所以外層為一層迴圈,內層為4個迴圈,分別對應上右下左。
一開始示例一很快就能通過,但示例二出現runtime error錯誤。查詢題解時發現某位大佬的思路與我本質上是相同的,但他的外層迴圈是到(min(high,size)-1)/2,我是到(high-1)就結束了。這裡卡住了好久,最後才想明白,矩陣的個數只跟長寬中較小的那個有關。
還有乙個參考了的點在於內層迴圈的第三個迴圈和第四個迴圈,(high-1-i != i)和(size-1-i != i),確實沒有考慮完全只有一行或一列的情況。
總的來說,這應該是執行速度比較快的一種思路了。只是占用的記憶體確實還是有待改進。
class solution
return vec;}};
思考問題還是不夠全面,沒能考慮到一些特殊情況,對於題目的理解還需要更加強一點。 每日一題 力扣 計畫
98 驗證二叉搜尋樹 問題給定乙個二叉樹,判斷其是否是乙個有效的二叉搜尋樹。假設乙個二叉搜尋樹具有如下特徵 1.節點的左子樹只包含小於當前節點的數。2.節點的右子樹只包含大於當前節點的數。3.所有左子樹和右子樹自身必須也是二叉搜尋樹。示例 1 輸入 2 1 3 輸出 true示例2 輸入 5 1 4...
力扣每日一題 6 14
1300 轉變陣列後最接近目標值的陣列和 給你乙個整數陣列 arr 和乙個目標值 target 請你返回乙個整數 value 使得將陣列中所有大於 value 的值變成 value 後,陣列的和最接近 target 最接近表示兩者之差的絕對值最小 如果有多種使得和最接近 target 的方案,請你返...
每日一題力扣48
給定乙個 n n 的二維矩陣 matrix 表示乙個影象。請你將影象順時針旋轉 90 度。你必須在 原地 旋轉影象,這意味著你需要直接修改輸入的二維矩陣。請不要 使用另乙個矩陣來旋轉影象。正解 旋轉90度就是,先鏡面對稱,再轉置即可 class solution defrotate self,mat...