leetcode做题笔记118. 杨辉三角

给定一个非负整数 numRows 生成「杨辉三角」的前 *numRows*行。

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

思路一:动态规划

cpp 复制代码
int** generate(int numRows, int* returnSize, int** returnColumnSizes){
    int **returnnum=(int **)malloc(sizeof(int *)*numRows);
    *returnSize = numRows;
    *returnColumnSizes = malloc(sizeof(int) * numRows);
    int i,j;
    for(i=0;i<numRows;i++){
        returnnum[i]=(int *)malloc(sizeof(int)*(i+1));
        (*returnColumnSizes)[i]=i+1;
        returnnum[i][0]=1;
        returnnum[i][i]=1;
        if(i>=2){
            for(j=1;j<i;j++){
                returnnum[i][j]=returnnum[i-1][j-1]+returnnum[i-1][j];
            }
        }
    }
    return returnnum;
}

分析:

本题要求杨辉三角,每个数为上一行相同位置和前一位数之和,可用循环将每个数利用上一行计算出来,最后输出dp,即returnnum

总结:

本题考察动态规划的应用,找到状态方程dp[i][j] = dp[i-1][j-1]+dp[i-1][j]即可解决

相关推荐
jghhh012 分钟前
基于时差(TDOA)与 频差(FDOA) 的无源定位
算法
得闲喝茶2 分钟前
SQL处理数据的常用语法语句
数据库·笔记·sql·数据分析·excel
糖炒栗子03263 分钟前
最小二乘优化笔记:从损失函数、正则项到 BA / 图优化
人工智能·笔记·机器学习
_深海凉_9 分钟前
LeetCode热题100-回文链表
算法·leetcode·链表
小雅痞12 分钟前
[Java][Leetcode middle] 54. 螺旋矩阵
java·leetcode·矩阵
nnsix12 分钟前
Unity HybridCLR 笔记
笔记·unity·游戏引擎
pursuit_csdn15 分钟前
力扣周赛 501
算法·leetcode·职场和发展
努力d小白16 分钟前
leetcode70.爬楼梯
算法
AbandonForce17 分钟前
LeetCode 滑动窗口个人思路详解
算法·leetcode·职场和发展
bnmoel19 分钟前
数据结构深度剖析顺序表:结构、扩容与增删查改全解析
c语言·数据结构·算法·顺序表