rustgym 0.2.0

rustgym solutions
Documentation
struct Solution;

use std::collections::HashSet;

impl Solution {
    fn is_reflected(points: Vec<Vec<i32>>) -> bool {
        let min = points.iter().map(|v| v[0]).min().unwrap();
        let max = points.iter().map(|v| v[0]).max().unwrap();
        let x = max + min;
        let mut hs: HashSet<(i32, i32)> = HashSet::new();
        for v in &points {
            hs.insert((v[0], v[1]));
        }
        for v in &points {
            if !hs.contains(&(x - v[0], v[1])) {
                return false;
            }
        }
        true
    }
}

#[test]
fn test() {
    let points = vec_vec_i32![[1, 1], [-1, 1]];
    let res = true;
    assert_eq!(Solution::is_reflected(points), res);
    let points = vec_vec_i32![[1, 1], [-1, -1]];
    let res = false;
    assert_eq!(Solution::is_reflected(points), res);
}