Q118 Pascal's Triangle

Given numRows, generate the first numRows of Pascal's triangle.

For example, given numRows = 5,
Return

[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]
解题思路:

根据杨辉三角的规律,发现最后一行可以由倒数第二行生成。因此,从第一行开始,逐次构造下一行,知道满足条件为止。

Python实现:
class Solution:
    def generate(self, numRows):
        """
        :type numRows: int
        :rtype: List[List[int]]
        """
        if numRows == 0:
            return []
        rlist = []
        rlist.append([1])  # 第一行元素
        i = 1
        while i < numRows:
            rlist.append([])  # 新增下一行
            rlist[i].append(1)
            j = 0
            while j < len(rlist[i-1]) - 1:  # 构造下一行元素
                rlist[i].append(rlist[i-1][j] + rlist[i-1][j+1])
                j += 1
            rlist[i].append(1)
            i += 1
        return rlist

a = 5
b = Solution()
print(b.generate(a))  # [[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Q119 Pascal's Triangle II

    Given an index k, return the kth row of the Pascal's triangle. For example, give...

    echobingo
  • Q13 Roman to Integer

    Given a roman numeral, convert it to an integer. Input is guaranteed to be withi...

    echobingo
  • Q28 Implement strStr()

    Implement strStr(). Return the index of the first occurrence of needle in haysta...

    echobingo
  • 这是第一个冲进戛纳的小程序

    知晓君
  • WebApi的多版本管理

         什么是API的多版本问题?Android等App存在着多版本客户端共存的问题:由于早期没有内置升级机制,用户不会升级,拒绝升级等原因,造成了许多软件的...

    莫问今朝
  • 4.3 差分与简单常微分方程初值问题

    什么是差分运算?如下图,数值计算过程我们计算函数上某点的导数时,可以选择某点附近(可以包含该点)的两个点,取这两个点的斜率来近似表示该点的导数。一阶导数...

    周星星9527
  • Python Algorithms - C3 Counting 101

    原书主要介绍了一些基础数学,例如排列组合以及递归循环等,但是本节只重点介绍计算算法的运行时间的三种方法

    宅男潇涧
  • Clover引导简明教程

    选择 Boot macOS with selected options 启动 出现错误画面拍照发群里寻求帮助。

    慕白
  • 在main方法之前,到底执行了什么?

    本人在做接口测试的时候,需要用一个公共类来把所有的执行的代码,然后这个公共类有hsot和hosttype等属性来区分各个测试环境,然后在去不同的地方取用例和请求...

    FunTester
  • JavaScript 技术篇-js获取带空格的dom节点的text文本内容

    我们用 innerText 获取到的文本信息是除掉空格的。但有时根据需求我们需要获取到完整的文本信息。 请看效果图:

    小蓝枣

扫码关注云+社区

领取腾讯云代金券