要求:沿右或者下求最大和
思路:显然不能一条路走到黑,要算所有棋盘位置动态规划,不用dp直接用原数组也可以
class Solution {
public:
int maxValue(vector<vector<int>>& grid) {
int m=grid.size(),n=grid[0].size();
vector<vector<int>> dp(m+1,vector<int>(n+1));
for(int i=1;i<=m;++i){
for(int j=1;j<=n;++j){
dp[i][j]=max(dp[i][j-1],dp[i-1][j])+grid[i-1][j-1];
}
}
return dp[m][n];
}
};