2019年5月10日 星期五

[leetcode][python] 54. Spiral Matrix



題目要求是對一個matrix 以螺旋方式取出

利用python 對list處理的方便性,可以快速解決






概念就是把原本matrix 依照上、右、下、左的順序拆下來,然後放入return 的list內,直到matrix清空

需注意的是拆最右邊或最左邊排時,若拆完變empty list, 則也就代表全部拆完了

Example:

matrix=
[[1,2],
 [3,4],
 [5,6],
 [7,8]]

step1: 拆上面
matrix=
[[3,4],
 [5,6],
 [7,8]]
ret = [1,2]

step2: 拆右邊
matrix=
[[3],
 [5],
 [7]]
ret = [1,24,6,8]

step3: 拆下面
matrix=
[[3],
 [5]]
ret = [1,24,6,8,7]

step4: 拆左邊
matrix=
[[],
 []]
ret = [1,24,6,8,7,5,3]
這邊發現5,3拿走後matrix 內只剩下空list,因此matrix已經是空的了


source code: https://github.com/cy-arduino/leetcode/blob/master/54.%20Spiral%20Matrix.py
leetcode: https://leetcode.com/problems/spiral-matrix/


沒有留言:

張貼留言