LC120

int minimumTotal(vector<vector<int>>& triangle) {
    int n=triangle.size();
    int m=n;
    int dp[n][m];
    for(int i=0;i<n;i++){
        for(int j=0;j<i+1;j++){
            if(i==0){
                dp[i][j]=triangle[i][j];
            }else{
                if(j==0){
                    dp[i][j]=dp[i-1][j]+triangle[i][j];
                }else if(j==i){
                    dp[i][j]=dp[i-1][j-1]+triangle[i][j];
                }else{
                    
                    dp[i][j]=min(dp[i-1][j],dp[i-1][j-1])+triangle[i][j];
                }
            }
          //  cout<<dp[i][j]<<" ";
        }
       // cout<<endl;
        
    }
    int ans=10005;
    for(int i=0;i<n;i++){
        ans=min(ans,dp[n-1][i]);
    }
    return ans;
}
posted @ 2022-09-15 13:01  lwx_R  阅读(130)  评论(0)    收藏  举报