题解 | #蛇形矩阵#
蛇形矩阵
https://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e
#找规律实在费劲,用递归实现
#如果n=1的时候打印 1
#如果n>1的时候,先获得n-1的结果,在其结果每一行结尾加一个值,并且再加一行,如:
n=4结果
1 3 6 10
2 5 9
4 8
7
n=5结果,n=4时候最大的数在第一行的最后一个,n=5的时候依次把更大的数加在了每一行的末尾
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
import sys
n=int(input())
def s(n):
if n==1:
return [[1]]
else:
li =s(n-1)
end=li[0][-1]
li.append([])
li = [li[i]+[end+n-i] for i in range(n)]
return li
for row in s(n):
print(" ".join(map(str,row)))

查看29道真题和解析