最大和的动态规划方法

时间:2018-12-27 16:50:58

标签: algorithm dynamic-programming

GOLD MINE PROBLEM

这是在采访中提出的问题,但我无法理解测试用例

就像ex 1->我知道max ans即将添加6,4,2,但是{(1,0)->(2,1)->(2,2)}的移动方式如何值6,4,2; 和 (1,0)会从上到下移动,这不是有效的移动

金矿问题

给出一个n * m尺寸的金矿。该矿场中的每个字段都包含一个正整数,该整数是黄金的吨数。最初,矿工位于第一列,但可以位于任何行。他只能从给定单元移动(右->,右向上/右向下),矿工可以向右或向右斜向右移动,或者向右对角向下移至该单元。找出他可以收集的最大黄金量。

    Input : mat[][] = {{1, 3, 3},
                       {2, 1, 4},
                      {0, 6, 4}};
    Output : 12 
    {(1,0)->(2,1)->(2,2)}

    Input: mat[][] = { {1, 3, 1, 5},
                       {2, 2, 4, 1},
                       {5, 0, 2, 3},
                       {0, 6, 1, 2}};
    Output : 16
    (2,0) -> (1,1) -> (1,2) -> (0,3) OR
    (2,0) -> (3,1) -> (2,2) -> (2,3)

    Input : mat[][] = {{10, 33, 13, 15},
                      {22, 21, 04, 1},
                      {5, 0, 2, 3},
                      {0, 6, 14, 2}};
    Output : 83

1 个答案:

答案 0 :(得分:0)

我相信您误解了该符号。

   C0 - C1 - C2 
R0 1    3    3
R1 2    1    4
R2 0    6    4

行用R标记,列用C标记。

Output : 12 
{(1,0)->(2,1)->(2,2)}

手段:

{(R1,C0)->(R2,C1)->(R2,C2)}

  • 因为您可以从第一列的任何行开始,所以从第一列开始。
  • 然后右移
  • 然后移动。

在另一个示例中使用相同的符号。希望这会有所帮助!