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
相关推荐
liu****10 分钟前
能源之星案例
人工智能·python·算法·机器学习·能源
2501_9011478320 分钟前
环形房屋打家劫舍算法
考研·算法·leetcode·高考
智驱力人工智能29 分钟前
守护矿山动脉 矿山皮带跑偏AI识别系统的工程化实践与价值 皮带偏离检测 皮带状态异常检测 多模态皮带偏离监测系统
大数据·人工智能·opencv·算法·安全·yolo·边缘计算
智驱力人工智能37 分钟前
构筑安全红线 发电站旋转设备停机合规监测的视觉分析技术与应用 旋转设备停机检测 旋转设备异常检测 设备停机AI行为建模
人工智能·opencv·算法·安全·目标检测·计算机视觉·边缘计算
宵时待雨44 分钟前
数据结构(初阶)笔记归纳2:顺序表的实现
c语言·数据结构·笔记·算法
寻星探路44 分钟前
【算法进阶】滑动窗口与前缀和:从“和为 K”到“最小覆盖子串”的极限挑战
java·开发语言·c++·人工智能·python·算法·ai
不穿格子的程序员1 小时前
从零开始刷算法——二叉树篇:层序遍历 + 有序数组转二叉搜索树
算法
kaikaile19951 小时前
同伦算法求解非线性方程组的MATLAB实现与优化
开发语言·算法·matlab
cici158741 小时前
计算四连杆机构的运动学
线性代数·算法·机器学习
南烟斋..1 小时前
Linux系统编程核心知识指南
linux·算法