Python程序:查找帕斯卡三角形的第n行
假设我们有一个数字n,我们需要找到帕斯卡三角形的第n行(从0开始索引)。众所周知,帕斯卡三角形可以如下创建:
- 顶行只有一个数字1。
- 后续行通过将上一行中与其左上方和右上方的数字相加得到。
因此,前几行如下:
所以,如果输入是4,则输出为[1, 4, 6, 4, 1]
为了解决这个问题,我们将遵循以下步骤:
- 如果n等于0,则
- 返回[1]
- 如果n等于1,则
- 返回[1,1]
- ls := 一个包含[1,1]的列表,temp := 一个包含[1,1]的列表
- 对于范围从2到n+1的i:
- ls := temp
- temp := 一个包含一个值为1的列表
- 对于范围从0到ls大小减1的i:
- 将ls[i]和ls[i+1]合并,并插入到temp的末尾
- 在temp的末尾插入1
- 返回temp
让我们看下面的实现来更好地理解:
示例
class Solution: def solve(self, n): if n==0: return [1] if n==1: return [1,1] ls=[1,1] temp=[1,1] for i in range(2,n+1): ls=temp temp=[1] for i in range(len(ls)-1): temp.append(ls[i]+ls[i+1]) temp.append(1) return temp ob = Solution() print(ob.solve(4))
输入
4
输出
[1, 4, 6, 4, 1]
广告