天池 在线编程 最大得分(DP)

文章目录

1. 题目

来源:https://tianchi.aliyun.com/oj/164423301311799378/184808348725744275

2. 解题

class Solution {
public:
    /**
     * @param matrix: the matrix
     * @return: the maximum score you can get
     */
    int maximumScore(vector<vector<int>> &matrix) {
        // write your code here
        int m = matrix.size(), n = matrix[0].size();
        vector<vector<int>> dp(m, vector<int>(n, 0));
        dp[0] = matrix[0];
        for(int i = 1; i < m; i++)
        {
            for(int j = 0; j < n; j++)
            {	// 当前列位置
                for(int k = 0; k < n; k++)
                {	//上一行列的位置
                    dp[i][j] = max(dp[i][j], dp[i-1][k]-abs(k-j)+matrix[i][j]);
                }
            }
        }
        return *max_element(dp[m-1].begin(), dp[m-1].end());
    }
};

101ms C++


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!
Michael阿明

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页