题解 | #礼物的最大价值#
礼物的最大价值
https://www.nowcoder.com/practice/2237b401eb9347d282310fc1c3adb134
public int maxValue (int[][] grid) {
int m=grid.length;
int n=grid[0].length;
int[][] dp=new int[m][n];//初始化DP数组
int temp1=0;
//计算DP数组的第一列(累加和)
for(int i=0;i<m;i++){
temp1=temp1+grid[i][0];
dp[i][0]=temp1;
}
int temp2=0;
//计算DP数组的第一行(累加和)
for(int i=0;i<n;i++){
temp2=temp2+grid[0][i];
dp[0][i]=temp2;
}
//循环计算右下部分
for (int i=1;i<m;i++){
for (int j=1;j<n;j++){
int tp1=dp[i][j-1]+grid[i][j];//从左边来
int tp2=dp[i-1][j]+grid[i][j];//从上边来
dp[i][j]=Math.max(tp1,tp2);
}
}
return dp[m-1][n-1];
}
曼迪匹艾公司福利 124人发布