前言
###我做这类文章一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?建议灵神的题单和代码随想录)和记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!
习题
1.最小路径和
题面:
附上灵神代码:
class Solution {
public int minPathSum(int[][] grid) {
int m = grid.length;
int n = grid[0].length;
int[][] f = new int[m + 1][n + 1];
Arrays.fill(f[0], Integer.MAX_VALUE);
f[0][1] = 0;
for (int i = 0; i < m; i++) {
f[i + 1][0] = Integer.MAX_VALUE;
for (int j = 0; j < n; j++) {
f[i + 1][j + 1] = Math.min(f[i + 1][j], f[i][j + 1]) + grid[i][j];
}
}
return f[m][n];
}
}
后言
上面是动态规划相关的习题,共勉