struct Solution {} impl Solution { pub fn kids_with_candies(candies: Vec, extra_candies: i32) -> Vec { let max = *candies.iter().max().unwrap(); candies .iter() .map(|candies| candies + extra_candies >= max) .collect() } } fn main() {} #[cfg(test)] mod tests { use super::*; #[test] fn example_1() { assert_eq!( Solution::kids_with_candies(vec![2, 3, 5, 1, 3], 3), vec![true, true, true, false, true] ); } #[test] fn example_2() { assert_eq!( Solution::kids_with_candies(vec![4, 2, 1, 1, 2], 1), vec![true, false, false, false, false] ); } #[test] fn example_3() { assert_eq!( Solution::kids_with_candies(vec![12, 1, 12], 10), vec![true, false, true] ); } }