题解 | #蛇形矩阵#

蛇形矩阵

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()
            

全部评论

相关推荐

03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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