dp[i][j]=Math.min(dp[i-1][j], dp[i][j-1])+array[i][j]
public static void main(String[] args){
int[][] array={{1,3,5,9},{8,1,3,4},{5,0,6,1},{8,8,4,0}};
System.out.println(min(array));
}
public static int min(int[][] array){
if(array==null || array.length<1||array[0].length<1){
return 0;
}
int rows=array.length;
int cols=array[0].length;
int[][] dp=new int[rows][cols];
dp[0][0]=array[0][0];
for(int i=1;i<rows;i++){
dp[i][0]=dp[i-1][0]+array[i][0];
}
for(int j=1;j<cols;j++){
dp[0][j]=dp[0][j-1]+array[0][j];
}
for(int i=1;i<rows;i++){
for(int j=1;j<cols;j++){
dp[i][j]=Math.min(dp[i-1][j], dp[i][j-1])+array[i][j];
}
}
return dp[rows-1][cols-1];
}