题目:杨辉三角
题目分析:
杨辉三角,第一个第二组数的值由第一组数的值决定,例如,x[2][1]=x[1][0]+x[1][1] 既:2=1+1
编程思路:
1.题目给出输入为一个numRows变量,控制杨辉三角行数,输出 List[list[int]]类型
2.考虑杨辉三角 x[2][1]=x[1][0]+x[1][1] 的特性,通过两个list实现,x[ ]一个用于计算,w[ ] 用于输出
程序代码:
class Solution:
def generate(self, numRows):
"""
:type numRows: int
:rtype: List[List[int]]
"""
#定义x,w
x = []
w = []
#通过for循环,创建全1 list x
for i in range(numRows):
x.append([])
for j in range(numRows):
x[i].append(1)
#杨辉三角核心公式
for i in range(2, numRows):
for j in range(1, i):
x[i][j] = x[i - 1][j - 1] + x[i - 1][j]
#通过for 循环输出杨辉三角
for i in range(numRows):
w.append([])
# print x
for j in range(i+1):
w[i].append(x[i][j])
return w