LeetCode118:杨辉三角

题目链接:118. 杨辉三角 - 力扣(LeetCode)

代码如下

复制代码
class Solution {

public:
    vector<vector<int>> generate(int numRows) {
        vector<vector<int>> dp(numRows);
        vector<int> temp(numRows);
        for (int i = 0; i < numRows; i++)
        {
            dp[i].resize(i + 1);
            dp[i][0] = 1;
            dp[i][i] = 1;
        }
        for (int i = 2; i < numRows; i++)
        {
            for (int j = 1; j < i; j++)
            {
                dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j];
            }
        }
        return dp;
    }
};

代码讲解:这个题目没有任何难度,就是推到公式,当第三行的时候就需要上面的两个相加,递推公式也就是dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j], 重点,二维vector开拓三角形数组需要 dp[i].resize(i + 1);也就是第1行开1个单位数组,第2行开2个单位的数组,以此类推。最后的形状是个上三角形。

二维数组长这样。

感悟:最搞笑的是我就坏到怎么处理这个上三角的问题,真的是,唉,吃一只长一智。

相关推荐
草莓熊Lotso37 分钟前
【数据结构初阶】--算法复杂度的深度解析
c语言·开发语言·数据结构·经验分享·笔记·其他·算法
KyollBM43 分钟前
【CF】Day75——CF (Div. 2) B (数学 + 贪心) + CF 882 (Div. 2) C (01Trie | 区间最大异或和)
c语言·c++·算法
CV点灯大师1 小时前
C++算法训练营 Day10 栈与队列(1)
c++·redis·算法
GGBondlctrl1 小时前
【leetcode】递归,回溯思想 + 巧妙解法-解决“N皇后”,以及“解数独”题目
算法·leetcode·n皇后·有效的数独·解数独·映射思想·数学思想
武子康1 小时前
大数据-276 Spark MLib - 基础介绍 机器学习算法 Bagging和Boosting区别 GBDT梯度提升树
大数据·人工智能·算法·机器学习·语言模型·spark-ml·boosting
武子康1 小时前
大数据-277 Spark MLib - 基础介绍 机器学习算法 Gradient Boosting GBDT算法原理 高效实现
大数据·人工智能·算法·机器学习·ai·spark-ml·boosting
Andrew_Xzw2 小时前
数据结构与算法(快速基础C++版)
开发语言·数据结构·c++·python·深度学习·算法
超的小宝贝3 小时前
数据结构算法(C语言)
c语言·数据结构·算法
木子.李3479 小时前
排序算法总结(C++)
c++·算法·排序算法