maximum difference in list of numbers
// As old-style iterative
fn max_diff2(numbers: &[i32]) -> i32 {
if numbers.len() < 2 { return 0 }
let mut min = numbers[0];
let mut max = numbers[0];
for n in numbers {
if n > &max {
max = *n;
}
if n < &min {
min = *n;
}
}
max - min
}
// As one-liner
fn max_diff(numbers: &[i32]) -> i32 {
*numbers.iter().max().unwrap_or(&0) - *numbers.iter().min().unwrap_or(&0)
}
fn main() {
println!("Max diff = {} ",max_diff(&[0, 1, 2, 3, 4, 5, 6]) ); //, 6););
println!("Max diff = {} ",max_diff(&[7,7,-7,7,7,7,7,7,7,7,7]) );
}
Are there any code examples left?
New code examples in category Rust
-
Rust 2022-03-27 22:00:04 rust print i8
-
Rust 2022-03-27 14:15:02 rust check if key in hashmap
-
Rust 2022-03-22 13:45:18 rust convert a string (with decimals) to a floating point number.
-
Rust 2022-03-11 20:00:15 creating constants in rust
-
Rust 2022-03-07 01:55:02 hello world in rust
-
Rust 2022-03-03 20:10:04 levenshtein distance
-
Rust 2022-02-24 12:40:24 execution duration
-
Rust 2022-02-20 05:45:02 matching in rust
-
Rust 2022-02-19 17:35:12 rust bitset stack
-
Rust 2022-01-30 18:30:40 rust compile and run