iT邦幫忙

2021 iThome 鐵人賽

DAY 6
1
自我挑戰組

FRIENDS系列 第 6

Day 6: LeetCode 54. Spiral Matrix

Tag:隨意刷-[50-100] LeetCode Problem

Source:

54. Spiral Matrix

1.題意:

給定一個 m x n 矩陣,以in spiral order(螺旋順序)回傳矩陣的所有元素(list)。

2.思路:

觀察規律
row to column then reverse.

3.程式碼:

class Solution:
    def spiralOrder(self, matrix: List[List[int]]) -> List[int]:
        res = []
        while matrix:
            res.extend(matrix.pop(0))
            matrix[:] = list(zip(*matrix))[::-1]
            #matrix = list(zip(*matrix))[::-1]#AC
        #print(res)
        return res

Result:

https://ithelp.ithome.com.tw/upload/images/20210921/20111516pwPhBJMLNN.png

Level:Medium

Python 語法

  1. extend
  2. pop
  3. Python List Slicing
  4. zip
  5. how to unpack list in python using *
    https://ithelp.ithome.com.tw/upload/images/20210921/20111516nwSkieBMfK.png

上一篇
Day 5: LeetCode 88. Merge Sorted Array
下一篇
Day 7: LeetCode 485. Max Consecutive Ones
系列文
FRIENDS30

尚未有邦友留言

立即登入留言