leetcode 118. Pascal's Triangle(python3)杨辉三角

题目:杨辉三角

题目分析:

杨辉三角,第一个第二组数的值由第一组数的值决定,例如,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

猜你喜欢

转载自blog.csdn.net/u010801439/article/details/81095253