leetcode 【 Pascal's Triangle 】python 实现

本文详细介绍了如何使用Python生成指定行数的Pascal三角形,并提供了代码实现及运行结果展示。

题目

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]
]

代码:oj测试通过 Runtime: 46 ms

 1 class Solution:
 2     # @return a list of lists of integers
 3     def generate(self, numRows):
 4         if numRows < 1:
 5             return []
 6         pascal = []
 7         first_row = [1]
 8         pascal.append(first_row)
 9         for i in range(1,numRows):
10             tmp = []
11             tmp.append(1)
12             for j in range(len(pascal[i-1])):
13                 if j == len(pascal[i-1])-1:
14                     tmp.append(1)
15                 else:
16                     tmp.append(pascal[i-1][j] + pascal[i-1][j+1])
17             pascal.append(tmp)
18         return pascal

 

思路

排除几个special case

然后把pascal写成如下的形式,比较容易写代码:

[1]

[1,1]

[1,2,1]

[1,3,3,1]

[1,4,6,4,1]

转载于:https://www.cnblogs.com/xbf9xbf/p/4229949.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值