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]即可解决

相关推荐
岩中竹2 分钟前
力扣热题100—滑动窗口(c++)
数据结构·c++·算法·leetcode
LIUDAN'S WORLD5 分钟前
C++零基础实践教程 函数 数组、字符串与 Vector
开发语言·c++·算法
Always_away5 分钟前
数据库系统概论|第三章:关系数据库标准语言SQL—课程笔记4
数据库·笔记·sql·学习
嵌入式小小怪下士16 分钟前
lx2160 LSDK21.08 firmware 笔记 - 0.基于fip.bin 编译流程展开的 makefile 分析
笔记·lsdk21.08·lx2160/lx2080
南川琼语22 分钟前
算法——希尔排序
数据结构·算法·排序算法
在下_诸葛25 分钟前
狂神SQL学习笔记六:列的数据类型讲解
笔记·sql·学习
xiongmaodaxia_z735 分钟前
python数据类型处理题,输出素数题
数据结构·算法
Ⅰㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ44 分钟前
03 UV
笔记·学习·3dmax
christine-rr2 小时前
【25软考网工笔记】第二章 数据通信基础(4)数据编码
网络·笔记·信息与通信·软考·考试
ゞ 正在缓冲99%…2 小时前
leetcode14.最长公共前缀
java·算法·leetcode