題目描述:
給定乙個包含 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]
解題思路:本題與第48題有一些相似之處,在參考了48題與別人的解題思路後,設計了如下解題過程,首先利用while迴圈,每一輪迴圈都取出目前列表的第一行,並新增進最終結果內,但是如何保證每一次取的第一行都是應該取的值呢,我們想到了48題的方法,即先轉置再翻轉,只不過此處不是左右翻轉,而是上下翻轉。最後返回結果。**如下:
class
solution
:def
spiralorder
(self, matrix: list[list[
int]])
-> list[
int]
:import numpy as np
res =
while matrix:
res += matrix.pop(0)
matrix = np.transpose(matrix)
.tolist()[
::-1
]return res
提交後,通過。 Leetcode第五十題 Pow x, n
題目 實現 pow x,n 即計算 x 的 n 次冪函式。示例 1 輸入 2.00000,10 輸出 1024.00000 示例 2 輸入 2.10000,3 輸出 9.26100 示例 3 輸入 2.00000,2 輸出 0.25000 解釋 2 2 1 22 1 4 0.25 說明 100.0 ...
解題思路 leetcode第五十六題 合併區間
給出乙個區間的集合,請合併所有重疊的區間。示例 1 輸入 1,3 2,6 8,10 15,18 輸出 1,6 8,10 15,18 解釋 區間 1,3 和 2,6 重疊,將它們合併為 1,6 示例 2 輸入 1,4 4,5 輸出 1,5 解釋 區間 1,4 和 4,5 可被視為重疊區間。解題思路 本...
解題思路 leetcode第五十九題 螺旋矩陣
給定乙個正整數 n,生成乙個包含 1 到 n2 所有元素,且元素按順時針順序螺旋排列的正方形矩陣。示例 輸入 3 輸出 1,2,3 8,9,4 7,6,5 解題思路 本題採用迴圈賦值的方法,其關鍵之處如何對提前建立的列表進行螺旋遍歷並賦值,本題通過設定兩個標誌位實現遍歷的過程中轉向,程式設定a,b,...