#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param grid int整型二维数组
# @return int整型
#
class Solution:
def maxValue(self, grid: List[List[int]]) -> int:
m = len(grid)
n = len(grid[0])
# 原数组就是dp数组 可以直接在原数组修改 直接省略dp数组步骤创建过程
for j in range(1, n):
grid[0][j] = grid[0][j - 1] + grid[0][j]
for i in range(1, m):
grid[i][0] = grid[i - 1][0] + grid[i][0]
for i in range(1,m):
for j in range(1,n):
grid[i][j] = grid[i][j] + max(grid[i-1][j], grid[i][j-1])
return grid[m-1][n-1]
# dp =[[0 for i in range(n)] for j in range(m)]
# dp[0][0] = grid[0][0]
# for j in range(1,n):
# dp[0][j] = dp[0][j-1] + grid[0][j]
# for i in range(1,m):
# dp[i][0] = dp[i-1][0] + grid[i][0]
# for i in range(1,m):
# for j in range(1,n):
# dp[i][j] = grid[i][j] + max(dp[i-1][j], dp[i][j-1])
# print(dp)
# return dp[m-1][n-1]