这是我第二次看这题了,第一次看不懂直接跳过。。
(之前看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])]
太牛逼了 其实难不难 但是能做这么简单就非常难了 我是用组合数做的 再精简下马上
Sign in to make a reply
UTOO_NAIVE
这是我第二次看这题了,第一次看不懂直接跳过。。
(之前看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是打包元组的函数,百度一下,一下就就明白了。