*
* @param matrix int整型二维数组 the matrix
* @return int整型
*/
function minPathSum( matrix ) {
// write code here
let m = matrix.length;
let n = matrix[0].length;
let dp = new Array();
dp = matrix;
dp[0][0] = matrix[0][0];
for (let i = 1;i < n; i++) {
dp[0][i] = dp[0][i - 1] + matrix[0][i];
}
for (let i = 1;i < m; i++) {
dp[i][0] = dp[i-1][0] + matrix[i][0];
}
for (let i = 1;i < m; i++){
for(let j = 1;j < n; j++) {
dp[i][j] = Math.min(dp[i-1][j], dp[i][j-1]) + matrix[i][j]
}
}
return dp[m-1][n-1];
}
module.exports = {
minPathSum : minPathSum
};