fn find_max_in_multidimensional_vector(multivec: &Vec<Vec<f64>>) -> Option<f64> {
if multivec.is_empty() {
return None;
}
let mut max_value = multivec[0][0]; // Initialize with the first element
for row in multivec {
for &value in row {
if value > max_value {
max_value = value;
}
}
}
Some(max_value)
}
fn main() {
// Define a multidimensional array
let multivec = vec![
vec![1.0, 2.0, 3.14],
vec![1.0, 1.0, 16.80],
vec![3.0, 5.0, 17.50],
vec![2.0, 4.0, 11.03],
];
if let Some(max_val) = find_max_in_multidimensional_vector(&multivec) {
println!("Maximum value: {}", max_val);
} else {
println!("multivec is empty.");
}
let empty_multivec: Vec<Vec<f64>> = vec![];
if let Some(max_val) = find_max_in_multidimensional_vector(&empty_multivec) {
println!("Maximum value: {}", max_val);
} else {
println!("multivec is empty.");
}
}
/*
run:
Maximum value: 17.5
multivec is empty.
*/