Discuss / Python / 这题真的是难

这题真的是难

Topic source

UTOO_NAIVE

#1 Created at ... [Delete] [Delete and Lock User]

这是我第二次看这题了,第一次看不懂直接跳过。。

(之前看python因为没时间暂时搁浅,现在重新看)

这个方式是百度看到的,很简便,但是理解起来也会比较困难,仔细看其实也不难理解

主要是一个下行等于上行错位相加的规律

例如:

第三行: 1,3,3,1

第四行:1,4,6,4,1

用第三行左右加一个0,构造两个list

[0,1,3,3,1]

[1,3,3,1,0]

逐项相加就得出下一行的list

发现这个规律理解起来就不难了

Tip:zip是打包元组的函数,百度一下,一下就就明白了。

def triangles():
    L = [1]
    while True:
        yield L
        L = [sum(i) for i in zip([0]+L, L+[0])]

太牛逼了 其实难不难 但是能做这么简单就非常难了 我是用组合数做的 再精简下马上


  • 1

Reply