Skip to content

Commit 21ade09

Browse files
authoredJul 22, 2021
feat: add typescript solution to lc problem: No.0064.Minimum Path Sum (doocs#531)
1 parent 9fe90a1 commit 21ade09

File tree

3 files changed

+67
-0
lines changed

3 files changed

+67
-0
lines changed
 

‎solution/0000-0099/0064.Minimum Path Sum/README.md

+24
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,30 @@ class Solution {
9393
}
9494
```
9595

96+
### **TypeScript**
97+
98+
```ts
99+
function minPathSum(grid: number[][]): number {
100+
let m = grid.length, n = grid[0].length;
101+
let dp = Array.from({ length: m}, v => new Array(n).fill(0));
102+
dp[0][0] = grid[0][0];
103+
for (let i = 1; i < m; ++i) {
104+
dp[i][0] = dp[i - 1][0] + grid[i][0];
105+
}
106+
for (let j = 1; j < n; ++j) {
107+
dp[0][j] = dp[0][j - 1] + grid[0][j];
108+
}
109+
// dp
110+
for (let i = 1; i < m; ++i) {
111+
for (let j = 1; j < n; ++j) {
112+
let cur = grid[i][j];
113+
dp[i][j] = cur + Math.min(dp[i - 1][j], dp[i][j - 1]);
114+
}
115+
}
116+
return dp[m - 1][n - 1];
117+
};
118+
```
119+
96120
### **C++**
97121

98122
```cpp

‎solution/0000-0099/0064.Minimum Path Sum/README_EN.md

+24
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,30 @@ class Solution {
8181
}
8282
```
8383

84+
### **TypeScript**
85+
86+
```ts
87+
function minPathSum(grid: number[][]): number {
88+
let m = grid.length, n = grid[0].length;
89+
let dp = Array.from({ length: m}, v => new Array(n).fill(0));
90+
dp[0][0] = grid[0][0];
91+
for (let i = 1; i < m; ++i) {
92+
dp[i][0] = dp[i - 1][0] + grid[i][0];
93+
}
94+
for (let j = 1; j < n; ++j) {
95+
dp[0][j] = dp[0][j - 1] + grid[0][j];
96+
}
97+
// dp
98+
for (let i = 1; i < m; ++i) {
99+
for (let j = 1; j < n; ++j) {
100+
let cur = grid[i][j];
101+
dp[i][j] = cur + Math.min(dp[i - 1][j], dp[i][j - 1]);
102+
}
103+
}
104+
return dp[m - 1][n - 1];
105+
};
106+
```
107+
84108
### **C++**
85109

86110
```cpp
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
function minPathSum(grid: number[][]): number {
2+
let m = grid.length, n = grid[0].length;
3+
let dp = Array.from({ length: m}, v => new Array(n).fill(0));
4+
dp[0][0] = grid[0][0];
5+
for (let i = 1; i < m; ++i) {
6+
dp[i][0] = dp[i - 1][0] + grid[i][0];
7+
}
8+
for (let j = 1; j < n; ++j) {
9+
dp[0][j] = dp[0][j - 1] + grid[0][j];
10+
}
11+
// dp
12+
for (let i = 1; i < m; ++i) {
13+
for (let j = 1; j < n; ++j) {
14+
let cur = grid[i][j];
15+
dp[i][j] = cur + Math.min(dp[i - 1][j], dp[i][j - 1]);
16+
}
17+
}
18+
return dp[m - 1][n - 1];
19+
};

0 commit comments

Comments
 (0)