力扣HOT100之动态规划:118. 杨辉三角

这道题很简单,感觉思路都不用怎么描述,直接给出动规五部曲的思考过程:

1.确定dp[i][j]的含义:杨辉三角中第i行第j列的值

2.确定递推公式:dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j];

3.dp数组初始化:dp[i][0] = 1, dp[i][i] = 1

4.确定遍历顺序:从左往右,从上往下遍历

5.打印数组(省略)

我们在初始化的时候就先将每一行的第一个元素和最后一个元素赋值为1,然后就进入循环迭代,不断更新每个位置的值即可。

cpp 复制代码
class Solution {
public:
    vector<vector<int>> generate(int numRows) {
        //动规五部曲
        //1.确定dp[i][j]的含义:杨辉三角中第i行第j列的值
        //2.确定递推公式:dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j];
        //3.dp数组初始化:dp[i][0] = 1, dp[i][i] = 1
        //4.确定遍历顺序:从左往右,从上往下遍历
        //5.打印数组(省略)
        vector<vector<int>> dp(numRows);
        //将每一层的首尾都赋值为1
        for(int i = 0; i < numRows; i++){
            dp[i].resize(i + 1);
            dp[i][0] = 1;
            dp[i][i] = 1;
        }
        for(int i = 0; i < numRows; i++){
            for(int j = 1; j < i; j++){
                dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j];
            }
        }
        return dp;
    }
};
相关推荐
2401_841495642 分钟前
并行程序设计与实现
c++·python·算法·cuda·mpi·并行计算·openmp
算法与编程之美3 分钟前
不同的优化器对分类精度的影响以及损失函数对分类精度的影响.
人工智能·算法·机器学习·分类·数据挖掘
sali-tec4 分钟前
C# 基于halcon的视觉工作流-章71 深度学习-预处理OCR
开发语言·人工智能·深度学习·数码相机·算法·计算机视觉·ocr
rannn_1115 分钟前
【SQL题解】力扣高频 SQL 50题|DAY4
数据库·后端·sql·leetcode·题解
咕噜企业分发小米9 分钟前
腾讯云知识图谱实体链接的准确率如何评估?
人工智能·算法·机器学习
MicroTech202510 分钟前
MLGO微算法科技发布改进量子ODE算法,支持不可对角化矩阵与非齐次系统实现指数级误差优化
科技·算法·矩阵
U-52184F6911 分钟前
CGAL 实战笔记:深入理解 2D 符合三角剖分与网格生成 (针对 CAM 开发)
笔记·算法
飞天狗11111 分钟前
C. Product 1 Modulo N(同余)
算法
代码游侠13 分钟前
应用——UDP 网络编程
linux·运维·开发语言·学习·算法
AI科技星17 分钟前
光速的几何本质与运动极限:基于张祥前统一场论对光子及有质量粒子运动的统一诠释
数据结构·人工智能·经验分享·算法·计算机视觉