题解 | #蛇形矩阵#

蛇形矩阵

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

全部评论

相关推荐

04-02 10:09
门头沟学院 Java
用微笑面对困难:这里面问题还是很多的,我也不清楚为啥大家会感觉没啥问题。首先就是全栈开发实习9个月的内容都没有java实习生的内容多,1整个技术栈没看出太核心和难点的内容,感觉好像被拉过去打杂了,而且全栈基本上很容易被毙。里面能问的bug是在太多了比如L:继承 BaseMapper 可直接使用内置方法’。请问你的 BaseMapper 是如何扫描实体类注解如果瞬时产生 100 个上传任务,MySQL 的索引设计是否会有瓶颈?你做过分库分表或者索引优化吗?全栈的内容可以针对动态难点去搞,技能特长写在下面吧,你写了这么多技能,项目和实习体现了多少?你可以在项目里多做文章然后把这个放下去,从大致来看实习不算太水,有含金量你也要写上内容针对哨兵里面的节点变化能问出一万个问题,这个很容易就爆了。
提前批简历挂麻了怎么办
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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