Vectors are one of Rust's most commonly used collections. They are growable arrays that can hold multiple elements of the same type. They are defined in Rust using the Vec<T> type, where T is the type of elements the vector contains.
In this challenge, you will perform basic operations on a vector, such as adding, removing, and accessing elements. Understanding how to work with vectors is essential for building efficient and idiomatic Rust applications.
You are required to implement the following functions:
add_elements: This function takes a mutable reference to a vector of integers and a slice of integers. It appends all elements from the slice to the vector.remove_element: This function takes a mutable reference to a vector of integers and an index. It removes the element at the given index if it exists.get_element: This function takes a reference to a vector of integers and an index. It returns the element at the given index as an Option<i32>.vec.extend_from_slice(elements) to add all elements from a slice to a vector.Vec::remove to remove an element by index.get method on vectors.Vec::remove will panic if the index is out of bounds, so handle it carefully in remove_element.pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index < vec.len() { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here vec.get(index).copied()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]){ // Your code here for element in elements.iter(){ vec.push(*element); } }pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index < vec.len(){ vec.remove(index); } }pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here if index < vec.len() { return Some(vec[index]); } return None}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here for e in elements.iter() { vec.push(*e); }}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index < vec.len() { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here vec.get(index).copied()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here for i in elements { vec.push(*i); }}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index < vec.len() { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here if index >= vec.len() { None } else { Some(vec[index]) }}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { if index < vec.len() { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { vec.get(index).copied()}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { if index < vec.len() { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { vec.get(index).copied()}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { vec.extend(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { if vec.len() > index { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { vec.get(index).copied()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { vec.extend(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { if vec.len() > index { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { vec.get(index).copied()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index < vec.len() { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here if index < vec.len() { Some(vec[index]) } else { None }}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here for element in elements { vec.push(*element) }}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index >= vec.len() { return; } vec.remove(index);}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here if index >= vec.len() { return None; } Some(vec[index])}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here (index < vec.len() && index >= 0).then(|| vec.remove(index));}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here vec.get(index).copied()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { if index < vec.len() {vec.remove(index);}}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { vec.get(index).copied()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { if vec.len() > index { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { vec.get(index).cloned()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here vec.extend(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index >= 0 && index < vec.len() { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here vec.get(index).copied()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { if index < vec.len() { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { vec.get(index).copied()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index < vec.len() { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here vec.get(index).copied()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index < vec.len() { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here if index < vec.len() { Some(vec[index]) } else { None }}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here for element in elements{ vec.push(*element) }}pub fn remove_element(vec: &mut Vec<i32>, index: usize){ // Your code here if index < vec.len(){ vec.remove(index); } else { return } }pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here vec.get(index).copied()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here elements.iter().for_each(|element| vec.push(*element));}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index < vec.len() { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here vec.get(index).copied()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index < vec.len() { vec.remove(index); } }pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here if index < vec.len() { Some(vec[index]) } else { None }}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { if vec.len() > index { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { vec.get(index).copied()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { if index >= vec.len() { return; } vec.remove(index); // Your code here}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { vec.get(index).copied() // Your code here}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { if index >= vec.len() { return; } vec.remove(index); // Your code here}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { vec.get(index).copied() // Your code here}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index > vec.len(){ return; } vec.remove(index);}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { let val = vec.get(index)?; Some(*val)}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index > vec.len(){ return; } vec.remove(index);}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { let val = vec.get(index)?; Some(*val)}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { vec.append(&mut elements.to_vec());}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { if index >= vec.len(){ return; } let _ = vec.remove(index);}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { let value = vec.get(index)?; Some(*value)}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { if (0..vec.len()).contains(&index) { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { if (0..vec.len()).contains(&index) { Some(vec[index]) } else { None }}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here for element in elements { vec.push(*element); }}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index < vec.len() { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here if index < vec.len() { return Some(vec[index]); } None}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here for element in elements { vec.push(*element); }}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index <= vec.len() { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here match vec.get(index) { Some(value) => Some(*value), None => None, }}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index < vec.len() { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here vec.get(index).copied()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { vec.extend_from_slice(elements); // Your code here}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { if index < vec.len() { vec.remove(index); } // Your code here}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { vec.get(index).copied()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if vec.len() < index { return (); } vec.remove(index);}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here if index >= vec.len() { return None; } Some(vec[index])}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here for &el in elements { vec.push(el); }}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if vec.len() < index { return (); } vec.remove(index);}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here if index >= vec.len() { return None; } Some(vec[index])}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here for el in elements { vec.push(*el); }}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index < vec.len() { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here if index >= vec.len() { None } else { Some(vec[index]) }}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index < vec.len() { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here vec.get(index).map(ToOwned::to_owned)}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here for elem in elements.iter(){ vec.push(*elem); }}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if (index < vec.len() && index >= 0){ vec.remove(index); } }pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here if let res = vec.get(index){ return res.copied() } None}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here return vec.extend_from_slice(elements)}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if let Some(_) = vec.get(index) { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here vec.get(index).copied()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { elements.iter().for_each(|n| vec.push(*n)) // Your code here}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { if let Some(_) = vec.get(index) { vec.remove(index); } // Your code here}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { vec.get(index).copied() // Your code here}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here vec.extend_from_slice(elements)}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index < vec.len(){ vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here vec.get(index).copied()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here vec.extend_from_slice(elements)}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index < vec.len(){ vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here vec.get(index).copied()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here for i in elements { vec.push(*i); }}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index < vec.len() { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here vec.get(index).copied()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index<vec.len(){ vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here match vec.get(index){ Some(v) => Some(*v), _ => None, }}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { for el in elements{ vec.push(*el); }}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { if index < vec.len(){ vec.remove(index);}}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { if index < vec.len(){ Some(vec[index]) }else{None}}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { if index < vec.len() { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { match vec.get(index) { Some(v) => Some(*v), _ => None }}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index < vec.len() { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here match vec.get(index) { Some(v) => Some(*v), _ => None }}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { if index < vec.len() { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { vec.get(index).cloned()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here vec.extend_from_slice(elements)}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { match vec.get(index) { Some(x) => vec.remove(index), _ => 0, }; return // Your code here}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here vec.get(index).copied()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here vec.extend_from_slice(elements)}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { match vec.get(index) { Some(x) => vec.remove(index), _ => 0, }; return // Your code here}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here vec.get(index).copied()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index < vec.len() { vec.remove(index); }}pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here return vec.get(index).copied();}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}pub fn add_elements(vec: &mut Vec<i32>, elements: &[i32]) { // Your code here vec.extend_from_slice(elements);}pub fn remove_element(vec: &mut Vec<i32>, index: usize) { // Your code here if index < vec.len() { vec.remove(index); } }pub fn get_element(vec: &Vec<i32>, index: usize) -> Option<i32> { // Your code here vec.get(index).copied()}// Example usagepub fn main() { let mut vec = vec![1, 2, 3]; add_elements(&mut vec, &[4, 5]); assert_eq!(vec, vec![1, 2, 3, 4, 5]); remove_element(&mut vec, 2); assert_eq!(vec, vec![1, 2, 4, 5]); assert_eq!(get_element(&vec, 1), Some(2)); assert_eq!(get_element(&vec, 10), None);}