题解 | #蛇形矩阵#

蛇形矩阵

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

通过计算坐标,按题目的蛇形要求向二维数组中添加元素,最后输出二维数组。
n = int(input())
x, y = 0, 0
out = 0
result = [[0] * n for _ in range(n)]
while True:
    out += 1
    result[x][y] = out
    # 坐标向右上方移动
    if x - 1 in range(0, n) and y + 1 in range(0, n):
        x -= 1
        y += 1
    else:
        x, y = y, x  # 取对称位置
        if x + 1 in range(0, n):
            x += 1
            y = 0
        else:
            break
for i in range(n):
    for j in range(0, n - i):
        print(result[i][j], end=(' '))
    print()
        


全部评论

相关推荐

点赞 评论 收藏
分享
一名愚蠢的人类:多少games小鬼留下了羡慕的泪水
投递荣耀等公司10个岗位
点赞 评论 收藏
分享
点赞 2 评论
分享
牛客网
牛客企业服务