码迷,mamicode.com
首页 > 编程语言 > 详细

leetcode 【 Pascal's Triangle 】python 实现

时间:2015-01-16 23:45:10      阅读:2605      评论:0      收藏:0      [点我收藏+]

标签:

题目

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]

leetcode 【 Pascal's Triangle 】python 实现

标签:

原文地址:http://www.cnblogs.com/xbf9xbf/p/4229949.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!