路径规划04
路径规划04
三角形动态规划
class Solution {
public:
int minimumTotal(vector>& triangle) {
int dp[200][200];
memset(dp,0,sizeof(dp));
//状态转移方程:dp[i][j]=min(dp[i-1][j],dp[i-1][j-1])
int depth=triangle.size();
dp[0][0]=triangle[0][0];
for(int i=0;i0 && j>0 && j0){
dp[i][j]=dp[i-1][j-1]+triangle[i][j];
}else if(j
状态转移方程:dp[i][j]=min(dp[i-1][j],dp[i-1][j-1])
迭代方向:自顶向下
边界条件:三角形的“三边”,两条腰作为迭代边界,程序最后底边进行最短判断