楊輝三角的兩種解法

2021-10-19 14:26:23 字數 839 閱讀 1019

在學習廖雪峰python教程中,「高階特性==>生成器」遇到楊輝三角的練習題,比較有意思。記錄下掌握的兩種解法。

思路:上一行前後補0,每兩個元素相加得到該行數列。

def

********s()

: l =[1

]while

true

:yield l

l =[sum

(i)for i in

zip([0

]+l, l+[0

])]

n =0

results =

for t in ********s():

n = n +

1if n ==10:

break

for t in results:

print

(t)

def

********s()

: l =[1

]while

true

:yield l[:]

0)l =

[l[i-1]

+ l[i]

for i in

range

(len

(l))

]

n =0

results =

for t in ********s():

n = n +

1if n ==10:

break

for t in results:

print

(t)

python列印楊輝三角的兩種思路

方法一 定義乙個列表,存放第一行初始元素1,接著複製乙個列表,將其轉換為字串,方便將其格式化 也就是加 t製表符 但是這種方法空間開銷比較大。def prin num mylist 1 初始為1,預設第一行 for i in range num 列印num行 listc mylist.copy fo...

python楊輝三角 楊輝三角I II

給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 5 輸出 1 1,1 1,2,1 1,3,3,1 1,4,6,4,1 可以一行一行錯位加,當然這裡提供更簡便的方法。任取一行描述 1,2,1 如何得到 1,3,3,1 ...

Python實現 楊輝三角 的兩種方法

給定乙個非負整數k k 33 返回楊輝三角的第k行 注意 返回行從0開始 在楊輝三角中,每個數是它左上方和右上方的數的和 example input 3 output 1,3,3,1 高階 你可以優化你的演算法到o k 的空間複雜度麼?def getrow self,rowindex type ro...