【LeetCode with Python】 119. Pascal's Triangle II
题目
原题页面:https://leetcode.com/problems/pascals-triangle-ii/
本文地址:http://leetcode.xnerv.wang/pascals-triangle-ii/
题目类型:Array
难度评价:Easy
类似题目:(E) Pascal's Triangle
Given an index k, return the kth row of the Pascal's triangle.
For example, given k = 3,
Return[1,3,3,1]
.
Note:
Could you optimize your algorithm to use only O(k) extra space?
分析
和Pascal's Triangle类似的题目,不过要求的不是输出整个帕斯卡三角,而是输出其中的某一层了。
代码
class Solution:
# @return a list of lists of integers
def getRow(self, rowIndex):
if rowIndex <= 0:
return [1]
elif 1 == rowIndex:
return [1, 1]
elif rowIndex >= 2:
need_rowsnum = rowIndex - 1
last_row = [1, 1]
for i in range(0, need_rowsnum):
new_row = [1]
for j in range(1, len(last_row)):
new_row.append(last_row[j - 1] + last_row[j])
new_row.append(1)
last_row = new_row
return last_row