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
相关推荐
鹿角片ljp2 小时前
LeetCode 141. 环形链表|从 HashSet 到快慢指针 O (1) 空间最优解
算法·leetcode·链表
ZC跨境爬虫4 小时前
LeetCode 219. 存在重复元素 II(滑动窗口 + 哈希表详解)
算法·leetcode·散列表
Navigator_Z4 小时前
LeetCode //C - 1220. Count Vowels Permutation
c语言·算法·leetcode
2601_956121975 小时前
线性DP(入门)
c++·算法·动态规划
feilieren5 小时前
leetcode - 389. 找不同
算法·leetcode
evans在进步6 小时前
LeetCode 238 除自身以外数组的乘积:前缀积与后缀积详解
算法·leetcode·职场和发展
刃神太酷啦16 小时前
Linux 系统 MySQL 完整安装配置教程:从卸载 MariaDB 到优化 my.cnf----《Hello MySQL!》(1)
android·linux·c语言·c++·mysql·leetcode·mariadb
wenyq720 小时前
LeetCode 2904. Shortest and Lexicographically Smallest Beautiful String
算法·leetcode
_Narcissus_1 天前
分治&递归
数据结构·c++·笔记·算法·leetcode·递归·分治