rustgym 0.2.0

rustgym solutions
Documentation
struct Solution;
use std::collections::HashMap;

impl Solution {
    fn num_identical_pairs(nums: Vec<i32>) -> i32 {
        let mut hm: HashMap<i32, usize> = HashMap::new();
        let mut res = 0;
        for x in nums {
            let count = hm.entry(x).or_default();
            res += *count;
            *count += 1;
        }
        res as i32
    }
}

#[test]
fn test() {
    let nums = vec![1, 2, 3, 1, 1, 3];
    let res = 4;
    assert_eq!(Solution::num_identical_pairs(nums), res);
    let nums = vec![1, 1, 1, 1];
    let res = 6;
    assert_eq!(Solution::num_identical_pairs(nums), res);
    let nums = vec![1, 2, 3];
    let res = 0;
    assert_eq!(Solution::num_identical_pairs(nums), res);
}