Leetcode 118. 杨辉三角

心路历程:

其实最直观的想法是可以直接按照从上到下的顺序遍历数组,依次计算数组的值即可,相当于DP表格的初始化。

但是也可以从递归的角度进行思考,@cache yyds。

注意的点:

1、注意第二层循环col应该是[0, line+1)

解法:动态规划

python 复制代码
class Solution:
    def generate(self, numRows: int) -> List[List[int]]:
        @cache
        def dp(i, j): # 返回第i行,第j个元素的值
            if i == 0: return 1
            if j == 0 or j == i: return 1
            return dp(i-1, j-1) + dp(i-1, j)
        res = []
        for line in range(numRows):
            temp = []
            for col in range(line+1):  # 第二层循环注意别写错了
                temp.append(dp(line, col))
            res.append(temp)
        return res
相关推荐
youngee112 分钟前
hot100-51搜索二维矩阵
数据结构·算法·矩阵
byzh_rc7 分钟前
[模式识别-从入门到入土] 支持向量积SVM
数据库·人工智能·算法
im_AMBER8 分钟前
Leetcode 86 【二分查找】在排序数组中查找元素的第一个和最后一个位置
笔记·学习·算法·leetcode
有一个好名字14 分钟前
力扣:种花问题
算法·leetcode·职场和发展
会编程是什么感觉...15 分钟前
算法 - Impedance Track 阻抗跟踪笔记
算法·bms·电量计
sprintzer17 分钟前
力扣12.16-12.25数组刷题
算法·leetcode·职场和发展
点云侠17 分钟前
基于选权迭代法的空间平面拟合
线性代数·算法·平面
AndrewHZ20 分钟前
【图像处理基石】VR的眩晕感是如何产生的?
图像处理·算法·计算机视觉·vr·cv·立体视觉·眩晕感
智算菩萨21 分钟前
【Python基础】排序算法的深度解析与实践应用:从理论到性能优化的全面指南
算法·性能优化·排序算法
爱学大树锯26 分钟前
【23 题(有效的括号序列)】
算法