rustgym 0.2.0

rustgym solutions
Documentation
struct Solution;

impl Solution {
    fn check_arithmetic_subarrays(nums: Vec<i32>, l: Vec<i32>, r: Vec<i32>) -> Vec<bool> {
        let m = l.len();
        let mut res = vec![];
        for i in 0..m {
            let start = l[i] as usize;
            let end = r[i] as usize + 1;
            let mut arr = nums[start..end].to_vec();
            arr.sort_unstable();
            let diff = arr[1] - arr[0];
            res.push(arr.windows(2).all(|w| w[1] - w[0] == diff));
        }
        res
    }
}

#[test]
fn test() {
    let nums = vec![4, 6, 5, 9, 3, 7];
    let l = vec![0, 0, 2];
    let r = vec![2, 3, 5];
    let res = vec![true, false, true];
    assert_eq!(Solution::check_arithmetic_subarrays(nums, l, r), res);
    let nums = vec![-12, -9, -3, -12, -6, 15, 20, -25, -20, -15, -10];
    let l = vec![0, 1, 6, 4, 8, 7];
    let r = vec![4, 4, 9, 7, 9, 10];
    let res = vec![false, true, false, false, true, true];
    assert_eq!(Solution::check_arithmetic_subarrays(nums, l, r), res);
}