Skip to content

Commit 331bc00

Browse files
committed
Create 1184-distance-between-bus-stops.rs
1 parent 1a4ce78 commit 331bc00

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

1184-distance-between-bus-stops.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
pub fn distance_between_bus_stops(distance: Vec<i32>, start: i32, destination: i32) -> i32 {
2+
let left = vec![start, destination].into_iter().min().unwrap();
3+
let right = vec![start, destination].into_iter().max().unwrap();
4+
vec![distance[left as usize..right as usize].iter().sum::<i32>(),
5+
distance[0..left as usize].iter().sum::<i32>() +
6+
distance[right as usize..].iter().sum::<i32>()
7+
].into_iter().min().unwrap()
8+
}
9+
10+
fn main() {
11+
let distance = vec![1, 2, 3, 4];
12+
let start = 0;
13+
let destination = 1;
14+
println!("{:?}", distance_between_bus_stops(distance, start, destination));
15+
let distance = vec![7,10,1,12,11,14,5,0];
16+
let start = 7;
17+
let destination = 2;
18+
println!("{:?}", distance_between_bus_stops(distance, start, destination));
19+
}

0 commit comments

Comments
 (0)