NC59 矩阵的最小路径和
JD1年终奖
//矩阵最小路径和
class Solution {
public:
int minPathSum(vector<vector<int>>&board) {
int row=board.size();
int col=board[0].size();
vector<vector<int>>vv(row,vector<int>(col,0));
vv[0][0]=board[0][0];
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
if(i==0&&j==0){
continue;
}else if(i==0){
vv[i][j]=vv[i][j-1]+board[i][j];
}else if(j==0){
vv[i][j]=vv[i-1][j]+board[i][j];
}else{
vv[i][j]=min(vv[i-1][j],vv[i][j-1])+board[i][j];//min
}
}
}
return vv[row-1][col-1];
}
};
//矩阵最大路径和
class Bonus {
public:
int getMost(vector<vector<int> > board) {
int row=board.size();
int col=board[0].size();
vector<vector<int>>vv(row,vector<int>(col,0));
vv[0][0]=board[0][0];
for(int i=0;i<row;i++){
for(int j=0;j<col;j++){
if(i==0&&j==0){
continue;
}else if(i==0){
vv[i][j]=vv[i][j-1]+board[i][j];
}else if(j==0){
vv[i][j]=vv[i-1][j]+board[i][j];
}else{
vv[i][j]=max(vv[i-1][j],vv[i][j-1])+board[i][j];//max
}
}
}
return vv[row-1][col-1];
}
};