力扣 64.最小路径和
1.题目描述
2.思路讲解
1.典型的dp问题,dp问题从来不能说简单,只能看自己当时有没有想到。
2.图解:
3.代码实现
int min(int a,int b);
int minPathSum(int** grid, int gridSize, int* gridColSize){
int rows=gridSize;
int columns=gridColSize[0];//取行,才知道力扣是这样判断行的
for(int i=1;i<columns;i++)//外围的一圈
{
grid[0][i]=grid[0][i-1]+grid[0][i];
}
for(int i=1;i<rows;i++)
{
grid[i][0]=grid[i-1][0]+grid[i][0];
}
for(int i=1;i<rows;i++)
{
for(int j=1;j<columns;j++)
{
grid[i][j]=min(grid[i-1][j],grid[i][j-1])+grid[i][j];//去加减
}
}
return grid[rows-1][columns-1];
}
int min(int a,int b)//判断谁大谁小,要小的
{
if(a>b)
{
return b;
}
else
{
return a;
}
}
4.总结
题目难度还行,并不算多难,有个思路很快就能ac了
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
二维码