题解 | #蛇形矩阵#

蛇形矩阵

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

找到值与行列的关系,即 value=(i+j-2)*(i+j-1)/2+j,i,j是所属行与列。然后判定换行的时机,即j=N-i+1时,所属行已排满,换行
while True:
    try:
        m = int(input())
        for i in range(1, m + 1):
            for j in range(1, m - i + 2):
                if j == m - i + 1:
                    print((i + j - 2) * (i + j - 1) // 2 + j)
                else:
                    print((i + j - 2) * (i + j - 1) // 2 + j, end=' ')
    except:
        break

全部评论
你有点聪明啊
1 回复 分享
发布于 2022-02-04 11:12
这是人能想出来的规律?
7 回复 分享
发布于 2022-04-09 17:06
厉害,分析了很久还是表示没看懂
1 回复 分享
发布于 2022-03-01 20:42
n = int(input()) s = 0 lst1 = [] for i in range(n): lst = [] for j in range(1,i+2): s += 1 lst.append(s) lst1.append(lst) lst = [i[::-1] for i in lst1] lst4 = [] for i in range(n): lst3 = [] for j in lst: lst3.append("".join(map(str,(j[i:i+1])))) l = ".".join(lst3) lst4.append(l) s = lst4 for i in range(len(s)): for k in s[i].split("."): if k.isdigit(): print(k,end=" ") print()
点赞 回复 分享
发布于 2022-05-15 19:33
这真的是大佬,这观察得多敏锐才能找出规律的。。好家伙
点赞 回复 分享
发布于 2022-04-05 19:17
请问i和j的范围为什么是range(1, m + 1)和range(1, m - i + 2),求解谢谢
点赞 回复 分享
发布于 2022-03-08 11:09
我也没看懂
点赞 回复 分享
发布于 2022-03-07 21:58
你有点聪明啊
点赞 回复 分享
发布于 2022-02-28 21:06
你有点聪明啊
点赞 回复 分享
发布于 2022-02-14 15:41

相关推荐

04-09 11:42
门头沟学院 Java
爱学习的小女孩:请问一下双非本的简历怎么过好像在boss上投递,学历都被卡住了,是要简历很优秀直接去官网投吗?
投递字节跳动等公司6个岗位 > 双非本科求职如何逆袭 字节求职进展汇总
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
02-25 17:03
点赞 评论 收藏
分享
挣K存W养DOG:接好运
点赞 评论 收藏
分享
评论
37
12
分享

创作者周榜

更多
牛客网
牛客企业服务