题解 | #蛇形矩阵#
蛇形矩阵
https://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e
n = int(input())
lists = []
for i in range(n): # 先初始化一个二维列表,当作容器
ls = []
for j in range(n):
ls.append(0)
lists.append(ls)
counter = 1 # 记录每一步的值
i, j = 0, 0 # 从0,0开始
while True:
# print(i,j)
lists[i][j] = counter # 给每一步附上值
counter += 1
# 默认斜向上移动
i -= 1
j += 1
if i == -1 and j == n: # 在草稿纸上手写几个蛇形矩阵会发现,-1,n是结束位置
break # 所以当默认斜向上移动后,到达这个位置就退出循环
if i == -1: # 同样会发现规律,当按照默认斜向上走一步后,到达的是i等于-1的位置,意味着需要换行,并且下一行的i,就是当前的j
i = j
j = 0
for i in range(n): # 按着蛇形走完后,则输出
for j in range(n):
if lists[i][j] != 0:
print(lists[i][j], end=' ')
print()


影石Insta360公司氛围 452人发布