leetcode_rust/
sum_of_even_numbers_after_queries.rs1#![allow(dead_code)]
2
3pub fn sum_even_after_queries(mut a: Vec<i32>, queries: Vec<Vec<i32>>) -> Vec<i32> {
4 let mut res = vec![];
5 for nums in queries {
6 a[nums[1] as usize] += nums[0];
7 res.push(
8 a.iter()
9 .fold(0, |acc, x| if *x % 2 == 0 { acc + *x } else { acc }),
10 );
11 }
12
13 res
14}
15
16#[cfg(test)]
17mod tests {
18 use super::*;
19
20 #[test]
21 fn test1() {
22 assert_eq!(
23 sum_even_after_queries(
24 vec![1, 2, 3, 4],
25 vec![vec![1, 0], vec![-3, 1], vec![-4, 0], vec![2, 3]],
26 ),
27 vec![8, 6, 2, 4]
28 );
29 }
30}