题目:
解决方法:动态规划
import java.util.*;
import java.lang.*;
public class Solution {
/**
*
* @param matrix int整型二维数组 the matrix
* @return int整型
*/
public int minPathSum (int[][] matrix) {
// write code here
int n = matrix.length;
int m = matrix[0].length;
for(int i =0;i<n;i++){
for(int j =0;j<m;j++){
if(i==0&&j==0)
continue;
else if(i==0)
matrix[i][j] += matrix[i][j-1];
else if(j==0)
matrix[i][j] += matrix[i-1][j];
else
matrix[i][j] += Math.min(matrix[i][j-1], matrix[i-1][j]);
}
}
return matrix[n-1][m-1];
}
}
时间复杂度:O(n2)
空间复杂度:O(1)