https://leetcode.com/problems/spiral-matrix/submissions/
有一个m*n 大小的表格,请用螺旋的顺序回传表格内的值
不管表格的大小如何,在表格上所谓的螺旋顺序,其实都可以看成4个方向的走向
都是从最左上方的位置往右走,接着依序往下、左、上、右...
接着,我们以example2 为范例,分别看4个方向的表格变化:
可以发现每个方向只有row 或colmun 有变化,所以我分别写出4个方向的数字变化
class Solution:
def spiralOrder(self, matrix: List[List[int]]) -> List[int]:
m = len(matrix)
n = len(matrix[0])
start_i, end_i = 0, m - 1
start_j, end_j = 0, n - 1
ans = []
while len(ans) < m * n:
for j in range(start_j, end_j + 1): #往右
ans.append(matrix[start_i][j])
start_i += 1
if len(ans) < m * n:
for i in range(start_i, end_i + 1): #往下
ans.append(matrix[i][end_j])
end_j -= 1
if len(ans) < m * n:
for j in range(end_j, start_j-1, -1): #往左
ans.append(matrix[end_i][j])
end_i -= 1
if len(ans) < m * n:
for i in range(end_i, start_i-1, -1): #往上
ans.append(matrix[i][start_j])
start_j += 1
return ans
像这种有2维阵列的题目我都觉得很麻烦,有时候都会写到脑袋空白
原因是什麽我也不确定,可能是和座标一直搞混吧
例如x轴上的座标是(0,0)、(1,0)、(2,0)...
而2维阵列的第一行矩阵则是matrix[0][1]、matrix[0][2]、matrix[0][3]...
接续昨天说完暂存器的看法,再来讲一下GPIO口的八种模式,两大类分成输出跟输入细分有以下8种 1.开...
到底该为一路顺畅没出Bug高兴还是遇到难题花时间克服狂喜,都几 第三天终於该来建立专案了,我是使用I...
公司若是出一系列潜在消费者会使用关键字後,放上 Google Ads 後,Google 是怎麽去花费...
前言 昨天的文章讲完前端 Nginx 的写法後,今天就要来进入後端的写法啦!在昨天的小结提到後端的写...
小孩才做选择,成年人当然是尺寸、座标全都要! 昨天介绍的 ResizeObserver API 可...