118.杨辉三角&120.三角形最小路径和

118.杨辉三角&120.三角形最小路径和

118.杨辉三角

思路:其实也是动态规划,相当于题目给出了递推方程

代码:

cpp 复制代码
class Solution {
public:
    vector<vector<int>> generate(int numRows) {
        vector<vector<int>> triangle(numRows);
        for(int i=0;i<numRows;i++){
            triangle[i].resize(i+1,1);
             for(int j=1;j<i;j++){
               //当前值=正上方+左上方(三角形向左对齐后)
                triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
             }
        }
        return triangle;
    }
};

120.三角形最小路径和

思路:动态规划,和网格路径和差不多,主要是边界条件的不同

根据题目要求:相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点

路径有三种情况:

(1)三角形左侧边(对齐后二维数组第一列):路径只能来自于正上方

(2)三角形右侧边(二维数组每一层最后一个):路径只能来自于左上方

(3)普通位置:路径来自于左上方或正上方(取最小值)

最后的结果为最后一行每个位置路径和的最小值

代码:

cpp 复制代码
class Solution {
public:
    int minimumTotal(vector<vector<int>>& triangle) {
        int s=triangle.size();
        vector<vector<int>> dp(s,vector<int>(s));
        dp[0][0]=triangle[0][0];
        //初始化每行第一个,只能从它正上方的元素来
        for(int i=1;i<s;i++){
            dp[i][0]=dp[i-1][0]+triangle[i][0];
        }
        for(int i=1;i<s;i++){
            dp[i].resize(i+1,0);
            for(int j=1;j<=i;j++){
                //最后一个元素只能从左上方的来
                if(j==i){
                    dp[i][j]=dp[i-1][j-1]+triangle[i][j];
                }else{
                    dp[i][j]=min(dp[i-1][j],dp[i-1][j-1])+triangle[i][j];
                }
            }
        }
        return *min_element(dp[s-1].begin(),dp[s-1].end());
    }
};
相关推荐
行者全栈架构师1 分钟前
【鸿蒙心迹】让应用“悬浮“起来——闪控球(floatingBall)从接入到实战全链路(HarmonyOS 7.x)
前端·算法·架构
云的雨 雨的云6 分钟前
手写算法动画上位机:从排序到线性代数可视化
线性代数·算法
Pniubi24 分钟前
快速排序(力扣基础)(递归)
java·数据结构·算法
roman_日积跬步-终至千里40 分钟前
【数据Agent论文·分析与报告评测|27】ComInsight:原子洞察正确,组合后的结论就可靠吗?
人工智能·算法·机器学习·数据分析
Samson Bruce1 小时前
【数学之美】
线性代数·算法·概率论
Mister Leon1 小时前
Nvidia Orin AGX实战之从量化到蒸馏:在 Orin 上落地的大模型压缩实战
人工智能·算法·机器学习
aqiu1111112 小时前
蓝桥杯真题复盘:Fibonacci 数列与黄金分割(C++ 算法详解)
c++·算法·蓝桥杯
phoenix@Capricornus2 小时前
LDA 协方差矩阵(MATLAB `fitcdiscr`)
算法·matlab·矩阵
青少儿编程课堂2 小时前
蓝桥杯·全国青少年信息素养大赛·电子学会C/C++考级:拓扑排序课程表排课解析
c++·python·算法·bfs·信息学竞赛
HPtiger11 小时前
数据结构——选择排序
数据结构·算法·排序算法