标签:一个 大于 接下来 pre 维数 心得体会 计算 动态规划 算法
1、实践题目
7-1 数字三角形
2、问题描述
3、算法描述
1)输入:
输入有n+1行:
第 1 行是数字三角形的行数 n,1<=n<=100。
接下来 n行是数字三角形各行中的数字。所有数字在0..99 之间。
2)初始化一个行列均大于或等于n的二维数组
3)在原表的基础上填充表格
设数组a[i][i]
假设当前在a[j][n],若想a[j][n]往下加时最大,则a[j][n]=max(a[j+1][n],a[j+1][n+1])+a[j][n]
4、算法的时间复杂度为:O(n*n);
5、算法的空间复杂度
由于开辟了一个行列均为n的二维数组,故算法的空间复杂度为:O(n*n);
6、心得体会(实践收获及疑惑总结)
一开始是从上到下进行计算,如果当前一行的数i加上下一行的左方的数j大于i,则j等于j加,对右方的数进行同样的操作,这样到底端得到的就是最大值,但是这不是动态规划,后来又重新按照动态规划的方法做了一遍,总之,动态规划算法最核心的是要找出方程式。
标签:一个 大于 接下来 pre 维数 心得体会 计算 动态规划 算法
原文地址:https://www.cnblogs.com/Li-Peiting/p/9890122.html