已知网格上每个网格点有一个数字,a[i][j] 表示第 i 行第 j 列处网格点上的数字。若 dp[i][j] 表示从网格左上角(第 0 行第 0 列)走到第 i 行第 j 列时能取得的最大数字和,且每次只能向右或向下移动。对于 i > 0 且 j > 0 的位置,正确的状态转移代码为( )。
a[i][j]
i
j
dp[i][j]
0
i > 0
j > 0
dp[i][j] = a[i][j] + min(dp[i - 1][j], dp[i][j - 1])
dp[i][j] = max(dp[i - 1][j - 1], dp[i][j])
dp[i][j] = a[i][j] + max(dp[i - 1][j], dp[i][j - 1])
dp[i][j] = a[i][j] + dp[i - 1][j - 1]