前言
###我做这类文章一个重要的目的还是记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!
习题
1.下降路径最小和II
题目链接:1289. 下降路径最小和 II - 力扣(LeetCode)
题面:
代码:
class Solution {
int n;
int[][] f;
int min = Integer.MAX_VALUE;
int[][] grid;
public int minFallingPathSum(int[][] grid) {
this.grid = grid;
n = grid.length;
f = new int[n][n];
for(int[] arr:f){
Arrays.fill(arr,Integer.MAX_VALUE);
}
for(int i = 0;i<n;i++){
int flag = recursion(n-1,i);
min = Math.min(min,flag);
}
return min;
}
public int recursion(int x,int y){
if(x<0){
return Integer.MAX_VALUE;
}
if(x==0){
return grid[x][y];
}
if(f[x][y]!=Integer.MAX_VALUE){
return f[x][y];
}
int mmin = Integer.MAX_VALUE;
for(int i = 0;i<n;i++){
if(i==y){
continue;
}
int flag = recursion(x-1,i);
mmin = Math.min(flag,mmin);
}
return f[x][y] = grid[x][y]+mmin;
}
}
后言
上面是动态规划相关的习题,共勉

701

被折叠的 条评论
为什么被折叠?



