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]

更新于:2020年10月6日

811 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告