题解 | #蛇形矩阵#

蛇形矩阵

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


#思路
#1.先得出第一行
#2.后续的行里面数字都是上一行去掉首个字符后,每个数字-1而得
#需要观察三角形规律



n = int(input())
res = []  #创建一个放所有结果的空列表
a = [1]  #创建第一行

for i in range(1,n):   #第一行规律:后一个数字是前一个数字+i+1;数字个数范围为n
    a.append(a[i-1]+i+1)    #这里要注意 a列表里存储的都是int类型
res.append(a)    #添加入结果列表
# print(res)

for row in range(1,n):    #处理后续行的数字
    line = []    #每次循环新建空列表
    for colum in range(n-row):  #里面数字都是上一行去掉首个字符后,每个数字-1而得;上面已经处理了第一行所以后续行就可以退镀那出来
        num = int(res[row-1][colum+1])-1
        line.append(num) 
#     print(line)
    res.append(line)    #每算完一行则添加进结果列表

#输出部分也搞了很久,主要是用.join不能输出有int的列表,一直报错;查了一下资料,需要使用以下方法
for i in res:
    print(" ".join('%s' %id for id in  i))
    
全部评论

相关推荐

点赞 评论 收藏
分享
05-29 20:34
门头沟学院 C++
KarlAllen:得做好直接春招的准备。学历差的话,一是面试要求会比学历好的严格不少,二是就算面试通过了也会被排序。总之暑期和秋招对于学历差的就是及其不友好
无实习如何秋招上岸
点赞 评论 收藏
分享
Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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