leetcode hot100 118. 杨辉三角 easy 动态规划


杨辉三角的规律

第 0 行:1

第 1 行:1, 1

第 2 行:1, 2, 1

第 3 行:1, 3, 3, 1

第 4 行:1, 4, 6, 4, 1

规律:

每一行的第一个和最后一个元素都是 1

中间元素 = 上一行左上 + 上一行右上

数学公式: triangleij=trianglei−1j−1+trianglei−1j

python 复制代码
class Solution:
    def generate(self, numRows: int) -> List[List[int]]:

        # 数学公式: triangle[i][j]=triangle[i−1][j−1]+triangle[i−1][j]

        triangle = []

        for i in range(numRows):  

            # 每行元素个数,以及初始值(暂时的)
            row = [1] * (i + 1)  # 每行长度 = i+1

            # 更新中间元素
            for j in range(1, i):
                row[j] = triangle[i-1][j-1] + triangle[i-1][j]

            triangle.append(row)
        
        return triangle
相关推荐
UIU1144 小时前
P1233 [ICPC 2001 Taejon R] 木棍加工
数据结构·c++·算法·动态规划
j7~9 小时前
【穷举、深搜与回溯算法】一棵决策树讲透全排列与子集
数据结构·c++·算法·leetcode·回溯·递归
Shaoshing10 小时前
LeetCode100 42.接雨水
java·算法·leetcode
文丑颜不良啊12 小时前
LeetCode1261~1280题目解析
java·leetcode
Shaoshing12 小时前
LeetCode100 11. 盛最多水的容器
算法·leetcode
海绵宝宝转agent13 小时前
Leetcode二叉树算法个人理解
笔记·学习·算法·leetcode·深度优先
Rain的Java大神之路13 小时前
面试被LeetCode 27(移除元素)问懵?别再用两层 for 循环了:一道“简单题”吃透双指针原地删除,附面试加分话术 + 11 个避坑清单
后端·leetcode·面试
重生之小比特15 小时前
【算法拾光】前缀和|连续的子数组和 + 和相同的二元子数组
算法·leetcode·哈希算法
Pniubi15 小时前
力扣 102二叉树的层序遍历(广度优先搜索)
leetcode·宽度优先
一去不复返的通信er15 小时前
力扣15:盛最多水的容器
算法·leetcode