Skip to content

Commit aa8882d

Browse files
author
wuyinjun
committed
新题目
1 parent 9cedd24 commit aa8882d

File tree

6 files changed

+69
-0
lines changed

6 files changed

+69
-0
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/target

120. 三角形最小路径和/Rust/Cargo.lock

Lines changed: 5 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
[package]
2+
name = "Rust"
3+
version = "0.1.0"
4+
authors = ["wuyinjun <[email protected]>"]
5+
edition = "2018"
6+
7+
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
8+
9+
[dependencies]
355 KB
Binary file not shown.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
struct Solution {}
2+
3+
impl Solution {
4+
pub fn minimum_total(triangle: Vec<Vec<i32>>) -> i32 {
5+
let n = triangle.len();
6+
let mut f = vec![0; n];
7+
f[0] = triangle[0][0];
8+
for i in 1..n {
9+
f[i] = f[i-1] + triangle[i][i];
10+
for j in (1..=i-1).rev() {
11+
f[j] = std::cmp::min(f[j-1], f[j]) + triangle[i][j];
12+
}
13+
f[0] += triangle[i][0];
14+
}
15+
match f.iter().min() {
16+
Some(min) => {return *min;},
17+
None => {return 0;}
18+
}
19+
}
20+
}
21+
22+
fn main() {
23+
let a = vec![2];
24+
let b = vec![3,4];
25+
let c = vec![6,5,7];
26+
let d = vec![4,1,8,3];
27+
let tmp = vec![a,b,c,d];
28+
Solution::minimum_total(tmp);
29+
println!("Hello, world!");
30+
}

120. 三角形最小路径和/main.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
from typing import List
2+
3+
class Solution:
4+
def minimumTotal(self, triangle: List[List[int]]) -> int:
5+
n = len(triangle)
6+
f = [0] * n
7+
f[0] = triangle[0][0]
8+
print(f)
9+
for i in range(1, n):
10+
f[i] = f[i - 1] + triangle[i][i]
11+
print(f)
12+
for j in range(i - 1, 0, -1):
13+
print("loop:" + str(j))
14+
f[j] = min(f[j - 1], f[j]) + triangle[i][j]
15+
print("min:" + str(f[j]))
16+
f[0] += triangle[i][0]
17+
print(f)
18+
return min(f)
19+
20+
if __name__ == "__main__":
21+
# execute only if run as a script
22+
list = [[2],[3,4],[6,5,7],[4,1,8,3]]
23+
s = Solution()
24+
s.minimumTotal(list)

0 commit comments

Comments
 (0)