题解 | #礼物的最大值#

礼物的最大价值

http://www.nowcoder.com/practice/2237b401eb9347d282310fc1c3adb134

由于只能方向向右或者向下,因此第m行第n列的值只能来自于m-1行n列或者m行n-1列再加上grid[m][n],所以可知maxSum[i][j] = Math.max(maxSum[i - 1][j], maxSum[i][j - 1]) + grid[i - 1][j - 1];

 public int maxValue (int[][] grid) {
        // write code here
        int m = grid.length, n = grid[0].length;
        int[][] maxSum = new int[m + 1][n+ 1];
        for(int i = 1; i <= m; i++)
            for(int j = 1; j <= n; j++){
                maxSum[i][j] = Math.max(maxSum[i - 1][j], maxSum[i][j - 1]) + grid[i - 1][j - 1];
            }
        return maxSum[m][n];
    }
全部评论

相关推荐

03-25 19:00
东北大学 Java
程序员牛肉:太好了,是聊天记录。不得不信了。 当个乐子看就好,不要散播焦虑
点赞 评论 收藏
分享
评论
4
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务