题解 | #蛇形矩阵#

蛇形矩阵

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

搬砖:
蛇形矩阵 找规律题 最佳解法
1 3 6 10
2 5 9
4 8
7
第一行[1 3 6 10]
第二行是 去掉第一行的第一列,然后将后面的[3 6 10]分别减1得到的
解法:
(1)求第一行第n项规律。
n*(n+1)/2
给出的各项可看出
a(n+1)-a(n)=n+1,于是

a(n)-a(n-1)=n

……

a(2)-a(1)=2

以上各项相加得

a(n+1)-a(1)=(n+1)+n+……+2

所以a(n+1)=(n+1)+n+……+2+1

则a(n)=n+……+2+1=n*(n+1)/2

(2)第二行是 去掉第一行的第一列,然后将后面的[3 6 10]分别减1得到的

while True:
    try:
        N=int(input())
        res=[]
        for i in range(N):
            if i==0:
                res=[(e+2)*(e+1)//2 for e in range(N)]
            else:
                res=[e-1 for e in res[1:]]
            print(' '.join(map(str,res)))
    except:
        break
全部评论

相关推荐

01-16 18:34
四川大学 Java
欢迎加入AI:没有啥稳定不稳定,一切都源于业务快速发展还是收缩。我当年一开始去的央企,业务不赚钱,也贼卷,慢慢就开始优化了。。。
点赞 评论 收藏
分享
KPLACE:首先是板面看起来不够,有很多奖,比我厉害。项目要精减,大概详细描述两到三个,要把技术栈写清楚,分点,什么算法,什么外设,怎么优化,不要写一大堆,分点,你写上去的目的,一是让别人知道你做了这个知识点,然后在面试官技术面的时侯,他知道你会这个,那么就会跟你深挖这个,然后就是个人评价改为专业技能
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务