探讨蛇形打印矩阵
发布时间
阅读量:
阅读量
这类题目在考试中频繁出现,难度适中,但解题思路较为多样。
题目
提供一个n\times n的矩阵,按照回字形(依次为向右、向下、向左、向上)的顺序进行输出,例如:
当输入n=3时,对应的矩阵为:
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]输出结果应为蛇形排列:
[1, 2, 3, 6, 9, 8, 7, 4, 5]
思路
1.方向、边界与修改
这是一种相对直观的策略,设定一个特定的方向d,用于明确下一步游标(i,j)的移动幅度,并设定边界条件,当移动触及边界时,需调整方向及边界参数的值。
- 此种实现方式较为常见,但若编写不够严谨,则容易引发数组越界的问题。
具体代码内容省略,仅提供用于构建原始 n\times n 矩阵的代码片段,以便后续步骤使用。
# prepare-origin matrix-data
n = 4 # size of matirx, for example, which is `4x4`
a = [[(i+1)+j*n for i in range(n)] for j in range(n)]
for line in a:
p
全部评论 (0)
还没有任何评论哟~
