[LeetCode]剑指 Offer 47. 礼物的最大价值

算法标签 DP

题目简叙

在这里插入图片描述

思路

没什么好说的
特判断 沿边和起始情况
核心状态转移方程只有一行grid[i][j]+=max(grid[i-1][j],grid[i][j-1]);

代码

class Solution {
public:
    int maxValue(vector<vector<int>>& grid) {
        int n=grid.size(),m=grid[0].size();
        for(int i=0;i<n;i++)
            for(int j=0;j<m;j++)    
                {
                    if(!i&&!j)continue;
                    else if(!i)grid[i][j]+=grid[i][j-1];
                    else if(!j)grid[i][j]+=grid[i-1][j];
                    else grid[i][j]+=max(grid[i-1][j],grid[i][j-1]);
                }
        return grid[n-1][m-1];
    }
};

AC记录

在这里插入图片描述

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页