题解 | #蛇形矩阵#

蛇形矩阵

https://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e

规律
            每一行数字的个数4 3 2 1
            一共的个数:每一行个数相加  /  最后一个数字
            每一行的最后一个数字  是 """

n = int(input())


lis = []
for i in range(n, 0, -1):
    lis.append([j for j in range(i)])# list1.append([0]*i)直接填0不用循环
# print(lis)
# [[0, 1, 2, 3, 4], [0, 1, 2, 3], [0, 1, 2], [0, 1], [0]]

count = (n+1)*n // 2
# print(count)
n_lis = len(lis) 
lis_m = []

for i in range(count, 0, -1):
    lis_m.append(i)
# print(lis_m)

for j in range(-1, -n-1, -1):# 控制列表的倒数第几个
    for i in range(n):# 控制是哪个列表
        if -j > len(lis[i]):
            continue
        else:
            lis[i][j] = lis_m.pop(0) # 控制列表初始化数字
# print(lis)

for i in lis:
    for j in i:
        print(str(j) + " ",end="")
    print()


全部评论

相关推荐

不愿透露姓名的神秘牛友
06-20 14:14
点赞 评论 收藏
分享
粗心的熊熊求求offer:什么内容都没有还弄两页
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务