/*
* 算法思想: 动态规划
*/
int minimumTotal(int** arr, int m, int* ns){
int i, j, min = INT_MAX;
printf("a\n");
for(i=0; i<m; i++){
if(i==0) continue;
for(j=0; j<ns[i]; j++){
if(j==0) {
arr[i][j] += arr[i-1][j];
continue;
}
printf("i=%d, j=%d \n", i, j);
if(j>=ns[i-1]) {
arr[i][j] += arr[i-1][j-1];
continue;
}
arr[i][j] = (arr[i-1][j-1] < arr[i-1][j] ? arr[i-1][j-1]: arr[i-1][j]) + arr[i][j];
}
}
printf("b\n");
for(j=0; j<ns[m-1]; j++){
if(arr[m-1][j] < min)
min = arr[m-1][j];
}
return min;
}
leetcode-120. 三角形最小路径和-C语言
最新推荐文章于 2022-12-12 23:53:20 发布