题解 | #蛇形矩阵#

蛇形矩阵

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

Python3解法:跟大神相比是笨方法了,仅自己的心得记录!
(虽然看上去好像数据咋放的很清楚,但实际转化为代码和循环的时候还是会出现很多细节问题,调试了好久才得到正确结果,之后遇到这种数字题可以尝试找找规律)

while True:
    try:
        n=int(input())
        a=[]#初始化结果存储数组
        for i in range(n):
            a.append([])
        s=int(n*(n+1)/2)
        num=[]#自然数
        for i in range(1,s+1):
            num.append(i)
        index=0#对应自然数
        for k in range(n):#蛇形走位
            for r in range(k,-1,-1):
                a[r].append(num[index])
                index += 1
        for i in range(n):#打印输出
            for j in a[i]:
                print(j, end=(' '))
            print()
    except:
        break
全部评论

相关推荐

评论
2
1
分享

创作者周榜

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