题目:
给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。
示例:
输入: 3
输出: [1,3,3,1]
我的解法:运用杨辉三角的公式直接计算
class Solution(object):
def getRow(self, rowIndex):
tri = []
for i in range(rowIndex+1):
tri.append(self.c(rowIndex,i))
return tri
def c(self,n,m):
return int(self.mul(n)/self.mul(n-m)/self.mul(m))
def mul(self,n):
m = 1
for i in range(1,n+1):
m = m * i
return m
我的解法2: 计算出所有的杨辉三角的数字
见上篇,https://blog.csdn.net/u014256231/article/details/83451155
别人的解法2: 也是计算出所有的杨辉三角的数字
class Solution(object):
def getRow(self, rowIndex):
row = [1]
for _ in range(rowIndex):
row = [x + y for x, y in zip([0]+row, row+[0])]
return row