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

2021-10-08 23:20:37 字數 841 閱讀 5762

題目描述:

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