
算法
文章平均质量分 64
算法学习,拓展思维,总结
Credic1017
有时候会发一点C++,和别的什么。可否,关注一下?
展开
-
DP路径第二节(lc.64最小路径和)
至于状态转移方程,和前一节的分析同理,在第一行和第一列的属于特殊情况,因为它们没有上方元素或左方元素,最普遍的情况就是上方和左方元素均存在,此时dp[i][j]是由dp[i-1][j]和dp[i][j-1]中的较小值加上map[i][j],可理解为从左方和从上方来的路径和中最小的,再加上坐标本身权值。通过对于题目的理解,很容易想到dp[i][j]是关于权值的,其实也就是关于最终需要解决的起点到右下角的路径之和的缩小版,即代表起点到坐标为(i,j)的最小路径和。限定条件:每一步只能允许往右走或者往下走。原创 2024-08-11 23:43:38 · 305 阅读 · 0 评论 -
DP路径第一节(lc.62不同路径)
1.dp状态定义很重要,在本题中,地图并未涉及具体的权值,而只要求路径条数的话,那么状态记录的则不需要考虑权值,在一些地图、最短路径、最长路径的问题当中,很多时候均要给出具体权值,那对于状态定义的时候需要考虑场景下不同的代表意义。2.边界条件,在本题中主要是第一行和第一列初始dp状态,因为它们分别缺少上方坐标和左方坐标,特别的,原点位置在判定过程中不属于上面所说的两种情况,否则会出现数组越界异常。即dp[0][0]既不能访问到dp[-1][0],也不能访问到dp[0][-1]。原创 2024-04-10 17:03:45 · 443 阅读 · 0 评论