题解 | #蛇形矩阵#

蛇形矩阵

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

找规律
while True:
    try:
        N = int(input())
        row_1 = 1
        for i in range(N):
            if i == 0:
                row_s = 1
            else:
                row_s = sum(range(0,i+1))+1
            for j in range(N-i):
                if i == 0 and j == 0:
                    column = 1
                    print(column, end = ' ')
                elif j == 0 :
                    print(row_s, end= ' ')
                else:
                    column = row_s + sum(range(i+2,i+j+2))
                    print(column, end = ' ')
            print()
    except:
        break
整理边界条件,看看是否可以包含于公式之中,发现所有边界条件在公式里能包含,故精简:
while True:
    try:
        N = int(input())
        for i in range(N):
            row_s = sum(range(0,i+1))+1
            for j in range(N-i):
                column = row_s + sum(range(i+2,i+j+2))
                print(column, end = ' ')
            print()
    except:
        break
  

                 

全部评论

相关推荐

牛客154160166号:9月底还给我发短信,好奇怪,我24届的
点赞 评论 收藏
分享
11-01 20:03
已编辑
门头沟学院 算法工程师
Amazarashi66:这种也是幸存者偏差了,拿不到这个价的才是大多数
点赞 评论 收藏
分享
2 1 评论
分享
牛客网
牛客企业服务