leetcode_rust/
sum_of_even_numbers_after_queries.rs

1#![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}