2023-03-08 21:50阅读: 14评论: 0推荐: 0

《剑指Offer-47-礼物的最大价值》

从左上角到右下角,每次只能向右或者向下移动,问路径总值最大是多少?

今天刚好让我撞见是每日一题,刚好又一眼知道怎么做

int maxValue(vector<vector<int>>& grid) {
int m = grid.size(), n = grid[0].size();
// 二维dp,dp[i][j]表示到达i行j列位置的最大价值
vector<vector<int>> dp(m + 1, vector<int>(n + 1, 0));
// 状态转移方程
for (int i = 1; i <= m; ++i)
for (int j = 1; j <= n; ++j)
dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]) + grid[i - 1][j - 1];
return dp[m][n];
}

空间效率不太行,但是感觉又没有那么好优化

本文作者:YaosGHC

本文链接:https://www.cnblogs.com/yaocy/p/17196409.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   YaosGHC  阅读(14)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起