面试题47
示例 1:
输入:
[
[1,3,1],
[1,5,1],
[4,2,1]
]
输出: 12
解释: 路径 1→3→5→2→1 可以拿到最多价值的礼物提示:
Solutions
class Solution {
public:
int maxValue(vector<vector<int>>& grid) {
int m = grid.size(); if (!m) return 0;
int n = grid[0].size();
vector<int> dp(n);
for (int i = 0; i < m; i++) {
dp[0] += grid[i][0];
for (int j = 1; j < n; j++)
dp[j] = max(dp[j - 1], dp[j]) + grid[i][j];
}
return dp[n - 1];
}
};Last updated