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
相关推荐
To_OC18 小时前
LC 994 腐烂的橘子:人人都说是 BFS 入门题,我却写了三遍才过
javascript·算法·leetcode
To_OC1 天前
LC 200 岛屿数量:经典 DFS 入门题,我第一次写居然连方向都搞错了
javascript·算法·leetcode
To_OC2 天前
LC 128 最长连续序列:别上来就排序,O (n) 解法才是这题的灵魂
javascript·算法·leetcode
To_OC4 天前
LC 49 字母异位词分组:想到哈希表很简单,选对 key 才是精髓
javascript·算法·leetcode
To_OC5 天前
LC 1 两数之和:面试第一道必考题,暴力解法直接被面试官 pass
javascript·算法·leetcode
-森屿安年-11 天前
63. 不同路径 II
c++·算法·动态规划
想吃火锅100511 天前
【leetcode】121.买卖股票的最佳时机js/c++
算法·leetcode·职场和发展
凌波粒11 天前
LeetCode--491.递增子序列(回溯算法)
数据结构·算法·leetcode
退休倒计时11 天前
【每日一题】LeetCode 146. LRU 缓存 TypeScript
算法·leetcode·缓存·typescript
小欣加油11 天前
leetcode3612 用特殊操作处理字符串I
数据结构·c++·算法·leetcode·职场和发展