Rust Function: Find maximum value
Write a Rust function that takes a vector of integers and returns the maximum value, return None if the vector is empty.
Sample Solution:
Rust Code:
fn find_max(numbers: Vec<i32>) -> Option<i32> {
if numbers.is_empty() {
None
} else {
Some(*numbers.iter().max().unwrap())
}
}
fn main() {
let numbers1 = vec![10, 5, 20, 15];
let numbers2: Vec<i32> = vec![];
match find_max(numbers1) {
Some(max) => println!("Maximum value: {}", max),
None => println!("The vector is empty!"),
}
match find_max(numbers2) {
Some(max) => println!("Maximum value: {}", max),
None => println!("The vector is empty!"),
}
}
Output:
Maximum value: 20 The vector is empty!
Explanation:
Here's a brief explanation of the above Rust code:
- The 'find_max' function takes a vector of integers 'numbers'.
- If the vector is empty, it returns 'None'.
- If the vector is not empty, it uses the 'max()' method to find the maximum value and returns it as 'Some(max)'.
- In the 'main' function, we test the 'find_max' function with two vectors, one containing elements and the other empty, and print the result accordingly.
Rust Code Editor:
Previous: Rust Function: Parse string to integer.
Next: Rust Program: Adding two numbers.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics