每日一练python12

题目:(杨辉三角)给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。

示例 1:

输入: numRows = 5 输出: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]
示例 2:

输入: numRows = 1 输出: [[1]]

程序说明:
1、暴力解题,运用for循环语句和if判断语句,一行一行的计算杨辉三角
2、用append将每行的列表添加进另一个列表中
全部代码:

class Solution:
    def generate(self, numRows: int) -> List[List[int]]:
        ret = []
        for i in range(numRows):
            row = []
            for j in range(0, i + 1):
                if j == 0 or j == i:
                    row.append(1)
                else:
                    row.append(ret[i - 1][j] + ret[i - 1][j - 1])
            ret.append(row)
        return ret

题目来源:力扣(leetcode)

猜你喜欢

转载自blog.csdn.net/qq_52669357/article/details/121344865