题解 | #牛妹的礼物#
牛妹的礼物
http://www.nowcoder.com/practice/c4f777778e3040358e1e708750bb7fb9
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param presentVolumn int整型二维数组 N*M的矩阵,每个元素是这个地板砖上的礼物体积
* @param presentVolumnRowLen int presentVolumn数组行数
* @param presentVolumnColLen int* presentVolumn数组列数
* @return int整型
*
* C语言声明定义全局变量请加上static,防止重复定义
*/
int selectPresent(int** presentVolumn, int presentVolumnRowLen, int* presentVolumnColLen ) {
int **a=presentVolumn;
int m =presentVolumnRowLen;
int n =*presentVolumnColLen;
int i,j;
int q[301][301]={0};
#define MIN(a,b) ((a) <(b)?(a):(b))
for(i = 0;i<=m;i++)
q[i][0]=0xefff;
for(j=0; j<=n ;j++)
q[0][j]=0xefff;
q[0][0]=0;
for(i= 1; i <= m ;i++)
for(j=1; j<=n ;j++){
int tmp = MIN(q[i-1][j], q[i][j-1]);
q[i][j] = MIN(tmp, q[i-1][j-1]) + a[i-1][j-1];
}
return q[m][n];
}