Minimum Time to Complete Trips LeetCode solution in Rust
1impl Solution {2pub fn minimum_time(time: Vec<i32>, total_trips: i32) -> i64 {3let total_trips = total_trips as i64;4let mut max_time = time.iter().min().unwrap().clone() as i64 * total_trips;5let mut min_time = 1 as i64;67while min_time < max_time {8let mid_time = (min_time + max_time) / 2;9let trips = time.iter().fold(0, |subtotal, trip_time| {10subtotal + mid_time / trip_time.clone() as i6411});1213if trips < total_trips {14min_time = mid_time + 1;15} else {16max_time = mid_time;17}18}1920min_time21}22}