Maximum Number of Pairs in Array LeetCode solution in Rust

1
use std::collections::HashMap;
2

3
impl Solution {
4
pub fn number_of_pairs(nums: Vec<i32>) -> Vec<i32> {
5
let mut mapped_nums = HashMap::new();
6

7
nums.iter().for_each(|&x| {
8
mapped_nums
9
.entry(x)
10
.and_modify(|value| *value += 1)
11
.or_insert(1);
12
});
13

14
mapped_nums
15
.values()
16
.map(|&value| (value / 2, value % 2))
17
.fold(vec![0, 0], |mut acc, value| {
18
acc[0] += value.0;
19
acc[1] += value.1;
20
acc
21
})
22
}
23
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0