路径规划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])
迭代方向:自顶向下
边界条件:三角形的“三边”,两条腰作为迭代边界,程序最后底边进行最短判断