Skip to content

Commit fd33d1f

Browse files
committed
feat: add rust solution to lc problem: No.0064
- No.0064.Minimum Path Sum
1 parent dd746d6 commit fd33d1f

File tree

3 files changed

+64
-0
lines changed

3 files changed

+64
-0
lines changed

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

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,29 @@ var minPathSum = function (grid) {
233233
};
234234
```
235235

236+
### **Rust**
237+
238+
```rust
239+
impl Solution {
240+
pub fn min_path_sum(mut grid: Vec<Vec<i32>>) -> i32 {
241+
let m = grid.len();
242+
let n = grid[0].len();
243+
for i in 1..m {
244+
grid[i][0] += grid[i - 1][0];
245+
}
246+
for i in 1..n {
247+
grid[0][i] += grid[0][i - 1];
248+
}
249+
for i in 1..m {
250+
for j in 1..n {
251+
grid[i][j] += grid[i][j - 1].min(grid[i - 1][j]);
252+
}
253+
}
254+
grid[m - 1][n - 1]
255+
}
256+
}
257+
```
258+
236259
### **...**
237260

238261
```

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

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,29 @@ var minPathSum = function (grid) {
219219
};
220220
```
221221

222+
### **Rust**
223+
224+
```rust
225+
impl Solution {
226+
pub fn min_path_sum(mut grid: Vec<Vec<i32>>) -> i32 {
227+
let m = grid.len();
228+
let n = grid[0].len();
229+
for i in 1..m {
230+
grid[i][0] += grid[i - 1][0];
231+
}
232+
for i in 1..n {
233+
grid[0][i] += grid[0][i - 1];
234+
}
235+
for i in 1..m {
236+
for j in 1..n {
237+
grid[i][j] += grid[i][j - 1].min(grid[i - 1][j]);
238+
}
239+
}
240+
grid[m - 1][n - 1]
241+
}
242+
}
243+
```
244+
222245
### **...**
223246

224247
```
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
impl Solution {
2+
pub fn min_path_sum(mut grid: Vec<Vec<i32>>) -> i32 {
3+
let m = grid.len();
4+
let n = grid[0].len();
5+
for i in 1..m {
6+
grid[i][0] += grid[i - 1][0];
7+
}
8+
for i in 1..n {
9+
grid[0][i] += grid[0][i - 1];
10+
}
11+
for i in 1..m {
12+
for j in 1..n {
13+
grid[i][j] += grid[i][j - 1].min(grid[i - 1][j]);
14+
}
15+
}
16+
grid[m - 1][n - 1]
17+
}
18+
}

0 commit comments

Comments
 (0)