Skip to content

Commit f46dbcb

Browse files
committed
二刷64
1 parent 6bdeff4 commit f46dbcb

File tree

4 files changed

+60
-1
lines changed

4 files changed

+60
-1
lines changed

docs/0064-minimum-path-sum.adoc

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,33 @@ Given a _m_ x _n_ grid filled with non-negative numbers, find a path from top le
4444
*Explanation:* Because the path 1→3→1→1→1 minimizes the sum.
4545
----
4646

47+
== 思路分析
4748

4849
[[src-0064]]
50+
[tabs]
51+
====
52+
一刷::
53+
+
54+
--
4955
[{java_src_attr}]
5056
----
5157
include::{sourcedir}/_0064_MinimumPathSum.java[tag=answer]
5258
----
59+
--
60+
61+
二刷::
62+
+
63+
--
64+
[{java_src_attr}]
65+
----
66+
include::{sourcedir}/_0064_MinimumPathSum_2.java[tag=answer]
67+
----
68+
--
69+
====
70+
71+
== 参考资料
72+
73+
. https://leetcode.cn/problems/minimum-path-sum/solutions/342122/zui-xiao-lu-jing-he-by-leetcode-solution/?envType=study-plan-v2&envId=selected-coding-interview[64. 最小路径和 - 官方题解^]
74+
. https://leetcode.cn/problems/minimum-path-sum/solutions/25943/zui-xiao-lu-jing-he-dong-tai-gui-hua-gui-fan-liu-c/?envType=study-plan-v2&envId=selected-coding-interview[64. 最小路径和 - 动态规划,规范流程,清晰图解^]
75+
5376

logbook/202406.adoc

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -645,6 +645,11 @@
645645
|{doc_base_url}/0101-symmetric-tree.adoc[题解]
646646
|⭕️分治
647647

648+
|{counter:codes}
649+
|{leetcode_base_url}/minimum-path-sum/[64. Minimum Path Sum^]
650+
|{doc_base_url}/0064-minimum-path-sum.adoc[题解]
651+
|✅动态规划
652+
648653
|===
649654

650655
截止目前,本轮练习一共完成 {codes} 道题。

src/main/java/com/diguage/algo/leetcode/_0064_MinimumPathSum.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,13 @@
1212
* @since 2020-01-27 21:29
1313
*/
1414
public class _0064_MinimumPathSum {
15-
// tag::answer[]
15+
// tag::answer[]
1616
/**
1717
* Runtime: 7 ms, faster than 5.53% of Java online submissions for Minimum Path Sum.
1818
* Memory Usage: 43.5 MB, less than 33.78% of Java online submissions for Minimum Path Sum.
19+
*
20+
* @author D瓜哥 · https://www.diguage.com
21+
* @since 2020-01-27 21:29
1922
*/
2023
public int minPathSum(int[][] grid) {
2124
if (Objects.isNull(grid) || grid.length == 0) {
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.diguage.algo.leetcode;
2+
3+
public class _0064_MinimumPathSum_2 {
4+
// tag::answer[]
5+
6+
/**
7+
* @author D瓜哥 · https://www.diguage.com
8+
* @since 2020-01-27 21:29
9+
*/
10+
public int minPathSum(int[][] grid) {
11+
int[][] dp = new int[grid.length][grid[0].length];
12+
dp[0][0] = grid[0][0];
13+
for (int i = 1; i < grid[0].length; i++) {
14+
dp[0][i] = grid[0][i] + dp[0][i - 1];
15+
}
16+
for (int i = 1; i < grid.length; i++) {
17+
dp[i][0] = grid[i][0] + dp[i - 1][0];
18+
}
19+
for (int row = 1; row < grid.length; row++) {
20+
for (int column = 1; column < grid[0].length; column++) {
21+
dp[row][column] = Math.min(dp[row - 1][column], dp[row][column - 1])
22+
+ grid[row][column];
23+
}
24+
}
25+
return dp[grid.length - 1][grid[0].length - 1];
26+
}
27+
// end::answer[]
28+
}

0 commit comments

Comments
 (0)